【问题标题】:how put defaults values in url route to make url freandly in laravel 5.2如何在 url 路由中放置默认值以使 laravel 5.2 中的 url 友好
【发布时间】:2017-04-18 11:39:44
【问题描述】:

当参数为空或 null 时,我需要使用 laravel 路由将默认值放在 url 中。我认为是这样的(显然没有找到),但你明白我的想法。

Route::get('/filtro/{event_type?}-en-{location?}/{caption?}', [
    'uses' => 'ProviderController@filter',
    'as' => 'site_filter_path'
])->defaults([
    'event_type' => 'todos',
    'location' => 'argentina'
]);

所以当参数为空时,url 可能是 mysite.com/filtro/todos-en-argentina/

【问题讨论】:

    标签: php laravel url routing


    【解决方案1】:

    您可以将空值传递给您的路线。但不能为空。

    【讨论】:

    • 这很好,但它只为控制器服务,我需要默认创建一个包含这些数据的 url,我解释一下?
    【解决方案2】:

    制作两条路线。

    在路由文件中:

    Route::get('/filtro', 'ProviderController@filter')->named('filtro');
    Route::get('/filtro/{event_type?}-en-{location?}/{caption?}', 'ProviderController@filter')->named('site_filter_path');
    

    在 ProviderController 中:

    public function filter($event_type = null, $location = null, $caption = null){
       if(!$event_type) $event_type = 'todos';
       If(!$location) $location = 'argentina';   
       //your code
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2020-08-13
      • 2011-12-24
      • 1970-01-01
      • 2020-02-07
      相关资源
      最近更新 更多