我有点搞不懂有收藏的“和哪里”条款。
以下查询获取所有拥有汽车牌照或摩托车牌照的用户:
User::whereHas('licences', function($query) {
$query->whereIn('type', ['car', 'motorbike']);
})->get();现在,如何让所有拥有汽车牌照和摩托车牌照的用户?
发布于 2021-02-04 08:27:18
尝试复制您的whereHas:
$wantedLicences= ['car', 'motorbike'];
$query=User::query();
foreach($wantedLicences as $wantedLicence)
{
$query=$query->whereHas('licences', function($query)use($wantedLicence) {
$query->where('type', $wantedLicence);
})
}发布于 2021-02-04 08:29:23
假设用户不能拥有超过一种类型的许可证,那么您将调整whereHas以检查相关记录的计数是否等于2:
User::whereHas('licenses', function ($query) {
$query->whereIn('type', ['car', 'motorbike']);
}, '=', 2)->get();发布于 2021-02-04 08:26:51
如果用户拥有一辆汽车和一辆摩托车,查询应该是这样的。
User::whereHas('licences', function($query) {
$query->where('type','car')->where('type','motorbike');
})->get();https://stackoverflow.com/questions/66041779
复制相似问题