Я хотел бы отобразить пользователей, которые отправили или получили сообщение / с.
Модель пользователя:
public function messages_sender()
{
return $this->hasMany('App\Message', 'sender_id');
}
public function messages_recipient()
{
return $this->hasMany('App\Message', 'recipient_id');
}
MessageController
public function index()
{
$users = User::with('messages_recipient', 'messages_sender')->paginate(5);
//return $users;
return view('message.index',compact('users'));
}
Просмотр сообщений:
{{ $user->messages_recipient['recipient_id'] }}
Результатом является ошибка в представлении «Неопределенный индекс: receient_id» или когда я пытаюсь получить доступ к любому из них (sender_id, receient_id).Я понимаю, что не все пользователи имеют сообщения, как я вижу в формате JSON, поэтому я использовал:
@if($user->messages_recipient->has('recipient_id'))
{{ $user->messages_recipient['recipient_id'] }}
@endif
и ошибка не показала.
JSON: https://pastebin.com/NFSWMp7r
Поскольку я новичок в Laravel, я мог бы использовать некоторую помощь.В аналогичном примере это работало, когда мне нужно было получить пользователей и название их роли (admin, user).