gpt4 book ai didi

php - Laravel count Eloquent belongsToMany 相关模型

转载 作者:可可西里 更新时间:2023-11-01 08:03:47 28 4
gpt4 key购买 nike

我是 Laravel 的新手,我遇到了以下问题:我有一个用于用户和组的表,以及一个用于连接它们的表。一般任务任何用户都可以加入任何组。

----------------------------------------------
| users | groups | user_groups |
|--------------------------------------------|
| id - int pk | id - pk | id - pk |
| name text | name | user_id - fk |
| email | | group_id - fk |
| phone | | any_attr |
----------------------------------------------

我有以下模型:

class User
{
...
public function groups()
{
return $this->belongsToMany(Group::class, 'user_groups')->withPivot(['is_notification_requested']);
}
...
}


class Group
{
...
public function users()
{
return $this->belongsToMany(User::class, 'user_groups');
}
...
}

如何获取所有组以及成员数量?我需要群组模型,以及群组中的用户数。

最佳答案

如果您使用的是 Laravel 5.3,您可以简单地添加 withCount('relationship'),如下所示:https://laravel.com/docs/5.3/eloquent-relationships#counting-related-models

下面是您的代码示例:

$groups = Group::withCount('users')->get();

现在你可以这样做了:

foreach($groups as $group) {
echo $group->user_count
}

关于php - Laravel count Eloquent belongsToMany 相关模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39709729/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com