【发布时间】:2020-01-06 01:05:11
【问题描述】:
我基于 Laravel 制作了一个项目,并拥有以下表格:companies、attributes 和 attribute_company 当 attribute_company 用作连接 companies 和 @987654326 的数据透视表时,关联为多对多关系@表。
我从客户那里得到了一组attribute_id,我需要得到完全具有全部属性的公司的结果。
我找到的唯一解决方案是查询whereHas 结合whereIn 里面这样:
Company::whereHas('attributes', function (Builder $query) use ($atts_ids) {
$query->whereIn('attribute_id', $atts_ids);
})->get();
如果找到至少一个 attribute_id(这不是我要查找的),则此查询将返回 companies。
如果有人能让我更清楚,那就太好了。
提前谢谢大家:)
【问题讨论】:
-
尝试在 whereHas 函数中添加 foreach 循环。
-
@JinalSomaiya 我已经尝试过了,不幸的是它不起作用:/
标签: php laravel eloquent eloquent-relationship