Если в вашем приложении ваш пользователь может выступать как продавцом, так и покупателем, решение role_id
, предложенное в комментариях к вашему запросу, не будет работать для вас.
Следуя решению, которое вы уже работалине похоже, что с вашими миграциями что-то не так, когда вы запускаете php artisan migrate
, это показывает какую-то ошибку?Если вы опубликуете его, я смогу обновить эту часть моего ответа.
В модели событий вы должны описать отношения следующим образом:
public function buyer()
{
return $this->belongsTo(User::class, 'buyers_id');
}
public function seller()
{
return $this->belongsTo(User::class, 'seller_id');
}
Поэтому, когда вы используете свою модель событий, вы можете сделать это следующим образом
$event = new Event;
$event->buyers_id = 1; // supposing there's a user with id 1
$event->seller_id = 2; // supposing there's a user with id 2
$event->save();
$event->buyer;
# => <User::class id=1>
$event->seller;
# => <User::class id=2>
[ОБНОВЛЕНИЕ] Добавить небольшой совет
Не имеет отношения к вашему вопросу, но я предлагаю вам переименовать свойbuyers_id
столбец до buyer_id
.Обычно в Laravel хранятся имена внешних ключей в единственном числе.
[ОБНОВЛЕНИЕ] Ссылка на документы
Для полной документации о взаимоотношениях'методы.
- https://laravel.com/docs/5.7/eloquent-relationships#one-to-many-inverse