Laravel 仅获取特定关系记录
我有一个客户模型和存款模型关系: 在存款模型表中,我有一个列:campaign\u id 在客户机模型中,我有:Laravel 仅获取特定关系记录,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有一个客户模型和存款模型关系: 在存款模型表中,我有一个列:campaign\u id 在客户机模型中,我有: public function deposits() { return $this->hasMany(ClientDeposit::class, 'client_id'); } 我做一个简单的查询: 此代码返回具有“campaign_id”、“2”以及所有其他campaign_id的客户,但也包含存款 clients[0:{deposits: [id: 18507,
public function deposits()
{
return $this->hasMany(ClientDeposit::class, 'client_id');
}
我做一个简单的查询:
此代码返回具有“campaign_id”、“2”以及所有其他campaign_id的客户,但也包含存款
clients[0:{deposits: [id: 18507, client_id: 162186, user_id: 22, campaign_id: 2, amount: 100, method_id: null
0: {id: 18507, client_id: 162186, user_id: 22, campaign_id: 2, amount: 100, method_id: null,…}
1: {id: 18505, client_id: 162186, user_id: 22, campaign_id: 2, amount: 100, method_id: null,…}
2: {id: 18506, client_id: 162186, user_id: 22, campaign_id: 10, amount: 100, method_id: null,…}
3: {id: 18498, client_id: 162186, user_id: 22, campaign_id: 3, amount: 100, method_id: null,…}}]
我希望客户记录中的关系只返回活动id为2的存款,而不是所有其他相关的存款
$query->with([
'deposits' => function($) {
$q->where('campaign_id', '2');
}
])
$query->with([
'deposits' => function($) {
$q->where('campaign_id', '2');
}
])