У меня есть таблица Transactions
, где каждая транзакция принадлежит либо водителю, либо компании. В то же время Driver
принадлежит Company
.
Я могу констатировать два отдельных отношения. Для прямых сделок компании:
public function transactions_0() {
return $this->morphMany(Transaction::class, 'owner');
}
Для транзакций, которые принадлежат компании через ее драйверы:
public function transactions_1() {
return $this->hasMany(Transaction::class)
->hasManyThrough(Transaction::class, Driver::class, null, 'owner_id')
->where('owner_type', Driver::class);
}
Есть ли способ объединить оба? Поэтому, когда я пытаюсь получить доступ к App\Company::first()->transactions
, я получаю все транзакции - прямые и косвенные?