在 Laravel 6 中将参数传递给路由和控制器
Passing a parameter to a route and controller in Laravel 6
我是 Laravel 的新手,所以请帮忙。我正在尝试将参数从 blade 文件传递到路由,然后路由将参数传递给控制器。这是一个资源控制器。我试过 URL() 调用方式,我试过让路由回调函数做同样的事情,但出于某种原因,ID 从未传递给函数,但它出现在我的地址栏中。所以它永远不会到达代码的 dd($id) 部分。
我也尝试为此创建一个新的模型和控制器,但它似乎也没有用。
我在这里错过了什么?
这是我的查看代码:
<td><a href="{{ route('/cars/'. $car->id)}}" class="btn btn-primary">Rent</a></td>
这是我的路线:
Route::get('cars/{id}', 'CarController@updateUserId');
这是控制器代码:
public function updateUserId($id)
{
dd($id);
$user_id = Auth::id();
dd($user_id);
Car::whereId($id)->update($user_id);
}
改用这个:
<td><a href="/cars/{{ $car->id }}" class="btn btn-primary">Rent</a></td>
如果你愿意,你可以命名你的路线,然后根据需要引用它:
Route::get('cars/{id}', 'CarController@updateUserId')->name('cars.car');
<td><a href="{{ route('cars.car') .'/'. $car->id }}" class="btn btn-primary">Rent</a></td>
只需使用此 {{ route('/cars/', $car->id) }}
或 {{ route('cars', $car->id) }}
并且不要将其连接为字符串,因为路由方法在这种情况下接受第二个参数。
我是 Laravel 的新手,所以请帮忙。我正在尝试将参数从 blade 文件传递到路由,然后路由将参数传递给控制器。这是一个资源控制器。我试过 URL() 调用方式,我试过让路由回调函数做同样的事情,但出于某种原因,ID 从未传递给函数,但它出现在我的地址栏中。所以它永远不会到达代码的 dd($id) 部分。 我也尝试为此创建一个新的模型和控制器,但它似乎也没有用。
我在这里错过了什么?
这是我的查看代码:
<td><a href="{{ route('/cars/'. $car->id)}}" class="btn btn-primary">Rent</a></td>
这是我的路线:
Route::get('cars/{id}', 'CarController@updateUserId');
这是控制器代码:
public function updateUserId($id)
{
dd($id);
$user_id = Auth::id();
dd($user_id);
Car::whereId($id)->update($user_id);
}
改用这个:
<td><a href="/cars/{{ $car->id }}" class="btn btn-primary">Rent</a></td>
如果你愿意,你可以命名你的路线,然后根据需要引用它:
Route::get('cars/{id}', 'CarController@updateUserId')->name('cars.car');
<td><a href="{{ route('cars.car') .'/'. $car->id }}" class="btn btn-primary">Rent</a></td>
只需使用此 {{ route('/cars/', $car->id) }}
或 {{ route('cars', $car->id) }}
并且不要将其连接为字符串,因为路由方法在这种情况下接受第二个参数。