【问题标题】:Laravel: how to set string as optional in route?Laravel:如何在路由中将字符串设置为可选?
【发布时间】:2020-02-09 16:43:25
【问题描述】:

web.php 我有:

Route::get('car/id/{id}/color/{color?}', 'carController@getCar);

但我希望/color/{color?} 的整个部分都是可选的,而不仅仅是颜色参数/{color?},请告诉我该怎么做?

【问题讨论】:

    标签: laravel laravel-5 laravel-5.8 laravel-route


    【解决方案1】:

    试试这个

    Route::get('search/{query?}', 'YourController@method')->where('query','.+')
    

    【讨论】:

      【解决方案2】:

      这里最好使用查询字符串参数(现在整个部分默认应该是可选的)...

      Route::get('car', 'carController@getCar);
      

      示例:

      car?id=1&color=red
      car?id=2
      car 
      

      在控制器getCar方法中

      getCart() {
          $id = request()->get('id');
          $color = request()->get('color');
      }
      

      【讨论】:

        猜你喜欢
        • 2022-01-06
        • 1970-01-01
        • 2023-04-04
        • 2021-10-07
        • 1970-01-01
        • 2019-04-24
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多