@tester_toster

Laravel eloquent — как создать связь через две таблицы с возвратом?

Есть таблицы и соответствующие модели:
wallets (Wallet)
id
...


transfer_wallets(TransferWallet) (pivot)
id
transfer_id
wallet_id


transfers (Transfer)
transaction_id
from_wallet_id
to_wallet_id
...


transactions (Transaction)
id
.....


Нужно получить все транзакции с трансферами у Wallet.
Сейчас есть связь в wallet:
public function transfers()
{
   return  $this->belongsToMany(Transfer::class, 'transfer_wallets', 'wallet_id', 'id')->with(['senderWallet', 'recipientWallet','transaction']);
}

Это все имеет вид:
Wallet->Pivot->Transfers->Transaction

Но получается некрасиво - т.к у 1 транзакции может быть несколько трансферов, а не наоборот.
Как реализовать связь вида через отношения:
Wallet->(Не могу понять, что тут должно быть..)->Transactions->Transfers

Буду благодарен за любые подсказки.
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы