【发布时间】:2021-01-02 08:22:11
【问题描述】:
我有两个相同的网址。如何动态重定向到正确的路由?
我用了->where(),不过我明白,它只是验证变量,而不是过滤路由进入。
Route::match(['get', 'post'], '/{model}/{method}/{id?}', [CrudController::class, 'index'])
->defaults('id', '')
->defaults('config', $config)
->where('model', 'Task');
//Hide headers, for users
Route::match(['get', 'post'], '/{model}/{method}/{id?}', [CrudController::class, 'index'])
->defaults('id', '')
->defaults('config', $config_user)
->where('model', 'User');
【问题讨论】:
-
这是不可能的,因为两者具有相同的模式样式。添加区分符,例如
task/{model}/{method}/{id?}和user/{model}/{method}/{id?}。这对于避免与未来路线混淆也很有用。 -
你为什么要反对这个框架?
-
你的意思是,为什么我不对 {model} 使用静态部分?因为,在最终代码中,这意味着 20 块复制/粘贴。
标签: php laravel routes controller