Laravel несколько таблиц идентификаторов пользователей - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в laravel и у меня действительно основной c вопрос, связанный с отношениями.

Вот пример моего вопроса:

У меня есть миграция под названием money_transfers. Миграция содержит следующее:

  1. user_id (перевод отправлен)
  2. sentTo_id (перевод отправлен)
  3. amount
  4. sent_at

ОБЕ user_id и sentTo_id относятся к идентификатору пользователя.

Теперь я хочу сделать следующее:

Получить пользователя, деньги были отправлено Кому так же, как и пользователю, деньги были отправлены ПО. Как в примере ниже:

$transfer->sentTo->name

или

$transfer->sentTo->id

Вы понимаете, о чем я. Заранее спасибо :)

1 Ответ

0 голосов
/ 27 мая 2020

Если вы правильно определили свои внешние ключи в своей таблице миграции, тогда это просто вопрос определения правильного отношения:

class MoneyTransfer extends Model
{

   public function sentBy()
   {
    return $this->belongsTo(User::class,'user_id');
   }



   public function sentTo()
   {
    return $this->belongsTo(User::class,'sentTo_id');
   }
}

Таким образом вы можете получить доступ к атрибуту получателя, например это:

$transfer->sentTo->name;

А атрибут отправителя такой:

$transfer->sentBy->name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...