Должен ли быть столбец 'id' в таблице базы данных, который отлично работает для show ($ id), редактировать ($ id) метод в контроллере?
Я хочу заменить $ ID со значением «POST_ID» столбец в таблице базы данных, но он выдает ошибку: ModelNotFoundException
Как я могу это исправить?
Пример кода:
таблица базы данных:
id(int), post_id(varchar32), post_title(varchar32), post_content(text)
маршруты:
Route::resource('posts', 'PostsController');
PostsController:
public function show($id) { return View::make('posts.show'); }
Когда я посещаю http://localhost/posts/1
он должен вернуть вид сообщения, который имеет id 1 в таблице.
Что делать, если мне нужно вернуть представление на основе post_id значение в таблице?
Нужно ли заменять параметр в show() или?
пожалуйста, вы можете добавить соответствующий код? – Chris
уверен, добавлено как указано выше. – JackpotK
Вы действительно не используете $ id, вы просто визуализируете представление в методе show. И да, вы можете передать все, что вам нужно, ваши ссылки должны соответствовать ресурсу: route.show должен быть http: // host/route_name/id-or-anything-else'. Но если вы получаете ModelNotFoundException, это потому, что FindOrFail или FirstOrFail используются где-то еще в вашем коде. Я не вижу, чтобы они использовались в исходном коде Laravel, они должны быть вашими. –