【问题标题】:optional additional parameters on resource route - laravel资源路由上的可选附加参数 - laravel
【发布时间】:2020-11-27 16:56:38
【问题描述】:

我已经搜索过如何为资源路由添加参数

Route::resource('posts','PostsController');
// became
Route::resource('posts/category.post','PostsController');

现在,通过category.post,我可以为所有资源路由声明附加参数

但它们是必需的,我的问题是如何使它们成为可选的?

我试过这样的

Route::resource('posts/category?.post','PostsController');

category parameter 成为可选的,但这对我不起作用。

我该怎么做?

谢谢。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    你可以试试这个,但不确定..

    Route::resource('posts', 'PostsController')->except(['store' ]);   
    Route::post('posts/category', 'PostsController@store');
    

    【讨论】:

      【解决方案2】:

      资源路线不只是一条“路线”

      您可能将其视为路由组,但它是预定义的,当您拥有普通资源控制器时可以轻松实现

      如果要更改参数,则必须单独定义路由

      然后你可以根据需要将参数设为可选

      Route::post('/posts/category/{post?}, 'PostsController@store');
      

      请参阅以下文档

      https://laravel.com/docs/7.x/routing#parameters-optional-parameters

      【讨论】:

        猜你喜欢
        • 2018-04-08
        • 1970-01-01
        • 2014-10-08
        • 2015-10-25
        • 1970-01-01
        • 2018-04-07
        • 2021-05-24
        • 2015-02-05
        相关资源
        最近更新 更多