【发布时间】:2021-01-19 09:19:33
【问题描述】:
我有以下表格。用户、user_details 和 client_teams。每个用户都有一个详细信息,每个用户可以有多个团队。用户架构: id、姓名、电子邮件、parent_user_id 用户详细信息: id、user_id、client_team_id 客户团队: id、user_id、team_name、状态 在 user_model 我有以下关系:
public function userDetails(){
return $this->belongsTo('App\Models\UserDetails','id','user_id');
}
public function clientTeamList(){
return $this->hasMany('App\Models\ClientTeams','user_id','id');
}
In user_details model i have the following relation:
public function clientMemberTeam(){
return $this->belongsTo('App\Models\ClientTeams','client_team_id');
}
我想显示具有特定团队 ID 并由特定用户创建的用户列表。我正在使用的查询是这样的:
$userCollections=Users::where([
['users.status','!=','DELETE'],
['users.parent_user_id',$clientId],
['users.id','!=',$loginUser->id]
])
->with([
'userDetails'=>function($query) {
$query->where('client_team_id',1);
}
]);
这是给我这个用户的所有记录,而我想通过 client_team_id 和 user_id 匹配
【问题讨论】:
-
您至少需要向我们展示您的尝试,即使它不起作用。关系的文档位于 laravel.com/docs/5.2/eloquent-relationships 我建议您阅读该文档,特别是说:“查询关系存在”的部分
-
你能给我看看所有的模型吗
-
@Boni,我已经用代码块编辑了问题
-
@ShamikRoy 请查看我的回答