【问题标题】:Passing a parameter to a route and controller in Laravel 6将参数传递给 Laravel 6 中的路由和控制器
【发布时间】:2020-03-05 12:17:11
【问题描述】:

我是 Laravel 的新手,所以请帮忙。我正在尝试将参数从刀片文件传递到路由,然后再将参数传递给控制器​​。这是一个资源控制器。我尝试过 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);
}

【问题讨论】:

    标签: laravel routing laravel-6


    【解决方案1】:

    只需使用 {{ route('/cars/', $car-&gt;id) }}{{ route('cars', $car-&gt;id) }} 即可,不要将其连接为字符串,因为在这种情况下,路由方法接受第二个参数。

    【讨论】:

      【解决方案2】:

      改用这个:

      <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>
      

      【讨论】:

        猜你喜欢
        • 2016-05-16
        • 2017-01-12
        • 2012-09-20
        • 1970-01-01
        • 1970-01-01
        • 2013-06-02
        • 1970-01-01
        • 2018-06-17
        相关资源
        最近更新 更多