Laravel Eloquent ORM有许多其他枢轴关系存在的地方



我想查询与指定的其他模型也有透视关系的hasMany关系的所有模型。

例:

Customer:
  belongsToMany -> Entry
EntryGroup:
  hasMany -> Entry
Entry:
  belongsToMany -> Customer
  belongsTo -> EntryGroup

客户和条目之间的属于多个关系存储在数据透视表中。

我现在要收集与条目组中属于指定客户的所有条目的关系。如果没有这个过滤限制,我会有一个像这样的函数

class EntryGroup extends Model
{
    ...
    public function entries()
    {
        return $this->hasMany(Entry::class);
    }
}

提前感谢您的任何建议。

试试这个$customers->entries((->with('entryGroup'(->get((;

试试这个:

<?PHP
   $customerId = 5;
    Entry::whereHas('customer', function ($query) use ($customerId) {
        $query->where('id', $customerId);
    })->has("EntryGroup")->get();

此返回所有条目都有一个条目组并属于客户 ID 5

试试这个:

$entryGroup->entries()->whereHas('customer', function ($query) use ($customerId) {
    $query->where('customers.id', $customerId);
})->get();

最新更新