#php #laravel #laravel-routing
Вопрос:
У меня есть и редактируется тег привязки, соответствующий моей записи на моей веб-странице. Поэтому, когда я нажимаю на ссылку «Редактировать».
Я получаю уникальный идентификатор, прикрепленный к моему URI
http://127.0.0.1:8000/cars/edit/3
Мой href выглядит так
<a href="/cars/edit/{{$car->id}}" >
И мой соответствующий web.php выглядит так
Route::get('/cars/edit/{{ $cars->id }}/',function (Request $request, $id)
И я хочу использовать этот конкретный идентификатор для обновления конкретной записи данных в моей базе данных.
Я не уверен, как это исправить
Когда я нажимаю «Изменить», я получаю это
Комментарии:
1.
Route::get('/cars/edit/{{ $cars->id }}...
->Route::get('/cars/edit/{id}...
2. Я сделал, Это не работает
3. Маршрут::get(‘/автомобили/редактировать/{id}’, функция ($id) { вернуть $id; });
4. В документации Laravel есть глава о параметрах маршрута
5. Параметры в маршрутах не принимают значения a
$
. Как уже указывал @AlbertoSinigaglia (и, прочитав ссылку, которую я опубликовал), так оно и будетRoute::get('/cars/edit/{id}...
.
Ответ №1:
Позвольте мне объяснить вам о маршрутах Laravel. Маршрут-это удивительное решение в рамках Laravel. В будущем вам следует подробнее рассказать о маршруте в официальной документации Laravel.
Как правильно решить вашу проблему?
Во-первых, опишите edit
метод routes/web.php
так, как показано ниже
Route::get('/cars/edit/{id}', [CarController::class, 'edit'])->name('cars.edit');
Второй шаг, описывают edit
метод CarController
как ниже
class CarController extend Controller
{
...
public function edit(Request $request, int $id): view
{
// $id - is car ID
// some code
return view(...)
}
...
}
Отличная работа.