laravel中一对多的问题

我现在有两个表:

一个是协会列表(list)和用户表(user)

list表的字段

list_id(协会id) , list_name(协会名称)

user用户表

user_id(用户id),list_id(所属协会), username(用户名)

请问如何实现:

关联查询获取每个协会下的会员总数

例如:

{"list_name":"AAA协会","user_count":20},
{"list_name":"BBB协会","user_count":211}
...

请问怎么关联呢?

阅读 3.6k
1 个回答
class List extends Model
{
    protected $fillable = ['name'];

    public function users()
    {
        return $this->hasMany(User::class, 'list_id', 'id');
    }
}

class User extends Model
{
    protected $fillable = ['list_id'];

    public function list()
    {
        return $this->belongsTo(List::class, "list_id", "id");
    }
}

List::withCount("users")->paginate();

多看文档。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进