Я пытаюсь сделать очень простой пользователь функции, чтобы иметь возможность отправлять сообщения только администратору и администратору для ответа на это сообщение.Выбор сообщений от user_id до user_id
До сих пор я сделал таблицу message
со следующими столбцами
id | from_id | to_id | subject | message
В контроллере у меня есть это, который должен выбрать все сообщения, которые посылаются вошедшего в систему пользователя (не уверен, если это правильно)
public function index(){
//$messages = Message::latest()->get();
$currentUser = Auth::user()->id;
$messages = Message::
whereRaw('message.id = (select max(id) from `message` m2 where m2.to_id = '.$currentUser.')')
->orderBy('id', 'desc')
->get();
return view('test.index', compact('messages'));
}
Теперь я пытаюсь сделать viewMessage
функцию
в индексном клинке это ссылка на одном сообщения
{!! link_to('test/view/' . $message->from_id, $message->subject) !!}
Мой маршрут
Route::get('test/view/{id}', '[email protected]')->name('test.view');
И контроллер функции
public function messageView($id) {
$user = User::where('id', $id)->first();
$messages = $user->messages()->orderBy('created_at', 'asc')->get();
return View::make('test.view', compact('messages'));
}
Когда я нажимаю на кнопку Я получил эту ошибку
SQLSTATE [42S22]: Column не найдено : 1054 Неизвестный столбец 'message.user_id' в 'where clause' (SQL: select * от
message
, гдеmessage
.user_id
= 4 иmessage
.user_id
не является нулевой порядок поcreated_at
возрастанию)
В модели пользователя я добавил отношение к сообщению как:
public function messages() {
return $this->hasMany('App\Message');
}
И в модели Message
public function user(){
return $this->belongsTo('App\User');
}
Мой вопрос, почему в запрос ищет user_id, когда на моей кнопке я посылаю from_id и как это исправить?
Ошибка вы получаете просто ... это означает, что на в таблице сообщений нет имени столбца 'user_id' правильно проверьте вашу таблицу –
@MasivuyeCokile да, я получаю ошибку, что означает, что я просто не получал, откуда пришел этот user_id, так как я не добавлял его нигде. – VLS