User, Ticket, TicketMessage
User hasMany Ticket, Ticket hasMany TicketMessage
Тут вроде все ясно. У пользователя может быть много тикетов, тикеты могут иметь много сообщений, а каждое сообщение тикета должно иметь отправителя(отправитель помечается в поле TicketMessage.from_id .
Нужно подгрузить из базы Ticket со всеми его TicketMessages, а также чтобы у TicketMessages была подгружена информация о отправителе. Но, нужна не вся информация о отправителе, а только Имя и Фамилия.
Этот код к моему удивлению в поле TicketMessage.user возвращает просто null, вместо имя и фамилии о отправителе
\Request::user()->tickets()->with('messages.user')->select('users.name', 'user_surname')->find($id);
Если изменить связь TicketMessage таким образом:
class TicketMessage
...
public function user()
{
return $this->belongsTo('App\User', 'from_id')->select('name', 'surname');
}
В TicketMessage.user все равно оказывается null
Как заставить этот код нормально работать, чтобы в TicketMessage был не null, а информация о отправителе?
\Request::user()->tickets()->with('messages.user')->select('users.name', 'user_surname')->find($id);