У меня есть таблица с транзакциями, где каждый Transaction
принадлежит либо Driver
, либо Customer
- поэтому я устанавливаю полиморфную связь между ними.
Для транзакции я установил:
public function owner() {
return $this->morphTo();
}
Для водителя и клиента:
public function transactions() {
return $this->morphMany(Transaction::class, 'owner');
}
Но каждый драйвер также принадлежит к Company
. И я пытаюсь получить все транзакции, которые относятся к отношениям Company
- hasManyThrough
:
public function transactions() {
return $this->hasManyThrough(Transaction::class, Driver::class);
}
Но, похоже, он не работает с полиморфными отношениями, поскольку выдает ошибку, поскольку пытается найти поле driver_id
в таблице transactions
.
Как получить все транзакции, принадлежащие Компании, через ее драйверы?