Я создаю приложение, в котором есть раздел для общения пользователей.Естественно, у меня есть модель User для таблицы пользователей и модель Chat для сообщений.В модели чата у меня есть отношение ownTo к модели User и соответствующее отношение hasMany в модели User.В таблице чатов есть столбцы sender_id, receive_id и message.
Модели:
class User extends Model {
function chat(){
return $this->hasMany(Chat::class);
}
}
class Chat extends Model {
function user(){
return $this->belongsTo(User::class);
}
/*** columns ***/
/* sender_id
* receiver_id
* message
*/
}
Я в порядке, пока здесь.Однако в контроллере, когда чат сохраняется в таблице, я пытаюсь вернуть ответ чата, включая объекты отправителя и получателя, используя отношения, которые я создал в модели чата, но продолжает получать только объект отправителя.Я также попытался использовать аксессор на модели чата, например, так:
public function getReceiverAttribute(){
$receiver = User::find($this->receiver_id)->first();
return $receiver;
}
Затем добавляет это в возвращенный чат.Все же я продолжаю получать объект отправителя.Надеюсь я смог четко выразить проблему?Как я могу получить объект получателя?
Примечание: пожалуйста, я отправляю это с мобильного телефона, поэтому он может быть неправильно отформатирован.