具有hash和slug参数的路由模型绑定路由

时间:2019-03-01 23:09:03

标签: laravel model routes

说我有一些路线:

 Route::get('items', 'ItemController@index')->name('item.index');
 Route::get('items/{hash}/{slug}', 'ItemController@show')->name('item.show');

在使用路由模型绑定时,我要处理以下情况:

  • /items/<correct_hash>/<incorrect_slug>永久重定向以更正散列和子段
  • /items/<correct_hash>永久重定向以更正哈希值和子代码
  • 其他所有内容都重定向到/items/

我目前了解路由模型绑定的快捷好处,它减少了控制器代码,但通常用于简单的/items/{id}情况。对于我的情况,是否可以扩展documentation中显示的内容?还是应该放弃整个模型绑定方法,然后再返回穴居人控制器逻辑?

当前看来,文档一次只能绑定一个参数,而不能组合:

    Route::bind('user', function ($value) {
        return App\User::where('name', $value)->first() ?? abort(404);
    });

0 个答案:

没有答案