我想查询hasMany关系的所有模型,这些关系也与指定的其他模型具有透视关系。
示例:
Customer:
belongsToMany -> Entry
EntryGroup:
hasMany -> Entry
Entry:
belongsToMany -> Customer
belongsTo -> EntryGroup
Customer和Entry之间的belongsToMany关系存储在数据透视表中。
我现在想要收集与EntryGroup上属于指定客户的所有条目的关系。没有这个过滤限制,我会有一个像
这样的函数class EntryGroup extends Model
{
...
public function entries()
{
return $this->hasMany(Entry::class);
}
}
提前感谢您提出的任何建议。
答案 0 :(得分:0)
试试这个 $客户 - >条目() - >在( 'entryGroup') - >得到();
答案 1 :(得分:0)
试试这个:
<?PHP
$customerId = 5;
Entry::whereHas('customer', function ($query) use ($customerId) {
$query->where('id', $customerId);
})->has("EntryGroup")->get();
此返回所有条目都有一个entrygroup并且属于customer id 5
答案 2 :(得分:0)
试试这个:
$entryGroup->entries()->whereHas('customer', function ($query) use ($customerId) {
$query->where('customers.id', $customerId);
})->get();