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