我有两个模型TeamleaderCompany
,其中:有很多TeamleaderCompanyTag
TeamleaderCompany
public function teamleaderCompanyTags()
{
return $this->hasMany('App\TeamleaderCompanyTag');
}
TeamleaderCompanyTag
public function teamleaderCompany()
{
return $this->belongsTo(TeamleaderCompany::class);
}
当我TeamleaderCompany::all()
时,我得到以下结果:
(...)
"teamleader_company_tags": [
{
"id": 7,
"tag": "hot lead",
"teamleader_company_id": 3,
"created_at": "2019-09-03 09:23:51",
"updated_at": "2019-09-03 09:23:51"
},
{
"id": 8,
"tag": "reseller",
"teamleader_company_id": 3,
"created_at": "2019-09-03 09:23:51",
"updated_at": "2019-09-03 09:23:51"
}
]
(...)
我想做的是显示TeamleaderCompany
的结果,其中teamleaderCompanyTags
仅包含一个tag
的{{1}}(如果除“转售商”以外还有另一个标签不显示)
'reseller'
谢谢
答案 0 :(得分:1)
尝试此查询:
paintings: [ { type: String} ]
答案 1 :(得分:1)
尝试此方法
TeamleaderCompany::with('teamleaderCompanyTags:id,tag')
->whereHas('teamleaderCompanyTags',function(\Illuminate\Database\Eloquent\Builder $query){
$query->where('tag', "reseller");
})->get();
答案 2 :(得分:0)
您有两个条件。
TeamleaderCompany::whereHas('teamleaderCompanyTags', function ($query) {
$query->where('tag', 'reseller');
})
->whereDoesntHave('teamleaderCompanyTags', function ($query) {
$query->where('tag', '!=', 'reseller');
})
->get()