首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5先进路由

Laravel 5先进路由
EN

Stack Overflow用户
提问于 2018-01-03 10:51:43
回答 2查看 678关注 0票数 0

所有人。我不能将urls链接到两个不同的控制器:(

代码语言:javascript
复制
Route::group([
    'namespace'  => 'Page',
    'as'         => 'page.',
], function() use ($lang)
{
    Route::get ('/{path}-{page_id}',                  ['uses' => 'PageCategoryController@show',       'as' => 'category']);
    Route::get ('/{path?}/{alias}-{record_id}.html',  ['uses' => 'PageItemController@show',           'as' => 'item']);
});

什么时候你要去

代码语言:javascript
复制
/test-3
/test-3.html

你有同样的结果,但为什么?

代码语言:javascript
复制
uri GET {path}-{page_id}
as  frontend::page.category

请帮帮我:)

更新:

也许是因为这个,但我不确定.

代码语言:javascript
复制
Route::pattern('path',      '[-_a-zA-Z0-9\p{L}]*');
Route::pattern('alias',     '[-_a-zA-Z0-9\p{L}]*');
Route::pattern('record_id', '[0-9]+');
Route::pattern('page_id',   '[0-9]+');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-03 11:19:22

这与Understand Laravel route with optional parameter有关

不能在可选参数后面加上所需的参数。

然而,也许这个解决办法可能对你有用。

代码语言:javascript
复制
Route::get ('/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}-{page_id}', ['uses' => 'PageCategoryController@show', 'as' => 'category']);
票数 0
EN

Stack Overflow用户

发布于 2018-01-03 10:53:04

把第二个放在第一个之前:

代码语言:javascript
复制
Route::get ('/{path?}/{alias}-{record_id}.html', ['uses' => 'PageItemController@show', 'as' => 'item']);
Route::get ('/{path}-{page_id}', ['uses' => 'PageCategoryController@show', 'as' => 'category']);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48075903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档