在 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) }} 并且不要将其连接为字符串,因为路由方法在这种情况下接受第二个参数。