我有三个模型公司,用户,项目
companies:
id, name
users:
id, name
projects:
id, title, company_id
数据透视表
project_members:
id, user_id, project_id
用户和项目的关系是多对多的。 如何在Project中加入具有特殊user_id的所有项目。
这是我的代码获取列表项目用户没有加入,但不是预期的:
$project = Project::with(['company', 'users'])
->whereHas('users', function ($query) use ($user) {
$query->where('id', '!=', $user->id);
});
我希望你能帮助我并解释如何使用,在Laravel中有哪些。
Project :: with(['users'=> function($ q)])加载所有项目和满足子查询的用户。在这种情况下,所有项目和具有所选id的用户(如果存在)
而Project :: whereHas('users',function($ q){})只加载满足用户子查询的项目,在您的情况下:项目分配给具有所选id的用户