#php #html #laravel
#php #HTML #laravel
Вопрос:
Я разрабатываю систему, в которой мне нужно создать комментарий, который оставляет комментарий на странице конкретного пользователя.
В настоящее время у employercommentscontroller
меня есть функция создания
public function create($id)
{
$user = User::where('employee_id', $id)->get();
return view('comments.create', compact('user'));
}
Вот маршрут к этому файлу контроллера
Route::resource('/reviews', 'EmployerCommentsController');
Это делается для того, чтобы я мог отображать информацию о пользователе, о котором оставлен комментарий. Когда я перехожу к URL.
Когда я посещаю /reviews/create/2
, я получаю notfoundhttpexception
. Что мне нужно изменить, чтобы иметь возможность передавать только идентификатор в мой метод create?
Ответ №1:
Вы можете использовать:
Route::get('/reviews/create/{id}', 'EmployerCommentsController@create');
Для получения дополнительной информации: https://laravel.com/docs/5.1/routing
Комментарии:
1. Спасибо, я избегал вводить посторонние маршруты, но, похоже, это может быть единственным решением. Приветствую быстрый ответ!
2. @LiamS Приветствую! Если вам это нравится, вы можете выбрать его как лучший ответ.
Ответ №2:
Если вы не хотите создавать дополнительные маршруты и хотите использовать стандартный контроллер RESTful, вы можете просто создать ссылку с параметром GET:
<a href="/reviews/create?id=2">Write a comment</a>
А затем получить этот параметр в контроллере:
public function create()
{
$id = request()->input('id');