Php Laravel路由资源中断另一条路由

Php Laravel路由资源中断另一条路由,php,laravel,laravel-5,routes,Php,Laravel,Laravel 5,Routes,当我这样使用我的路线时,测试路线运行良好。 路线:- 但当我想像下面这样使用它时,它会显示一个空白页: Route::group(array('namespace' => '\User'), function () { Route::get('user/my-favorite','UserController@myFavorite'); Route::resource('user', 'UserController'); Route::group(['middleware' => [

当我这样使用我的路线时,
测试
路线运行良好。
路线:-

但当我想像下面这样使用它时,它会显示一个空白页:

Route::group(array('namespace' => '\User'), function () {
Route::get('user/my-favorite','UserController@myFavorite');
Route::resource('user', 'UserController');
Route::group(['middleware' => ['auth']], function () {
Route::get('user/planed',['as' => 'user.planed', 'uses' => 'UserController@planed']);
Route::get('user/test','UserController@test'); // is not working
.
.
.
.

我犯了什么错

因为对测试的调用被

Route::resource('user', 'UserController');
因为如果你在控制台中用

$> php artisan route:list
你会看到它包括

GET|HEAD  | user/{user}
然后是你的第一条路线

Route::get('user/test','UserController@test'); // is not working

永远也达不到。试着把它放在另一行前面。

我认为命名路线检查是个问题

像这样试试

Route::group(array('namespace' => '\User'), function () {
Route::get('user/my-favorite','UserController@myFavorite');
Route::resource('user', 'UserController');
Route::group(['middleware' => ['auth']], function () {
Route::get('user/planed','UserController@planed'])->name('user.planed');
Route::get('user/test','UserController@test'); // is not working
替换

Route::get('user/planed',['as' => 'user.planed', 'uses' => 'UserController@planed']);


你说的“它不工作”是什么意思?到底发生了什么?我可以看到您在
auth
中间件组中有测试路由,所以这可能就是原因。但是,您能再次澄清到底发生了什么吗?@AaronFahey
test
controller中的方法打印一个查询输出:
$users=Subscriber::where('user\u id',$this->\u userId)->pull('user\u id');dd(用户)
-它在
资源
之前工作,但在
Auth
资源之后,将路由放入
Auth
middlware之后,它会显示一个空白页。我正在由一个登录的用户对它进行测试。尝试了,没有工作。事件是我在
资源
之后放置
测试
路由,不起作用!没有错误的空白页您的
['middleware'=>['auth']]
是否工作正常?是的,它在这个中间件中为其他路由工作当我使用这样的路由时:
route::get('user/test/{id},'UserController@test');,它正在工作!!!为什么?我不需要
id
wildcard只需将路由名称更改为
test2
并删除
{id}
,然后再试一次您的意思是
用户
的路由
资源
应该放在
用户
路由之后吗?我以为laravel
Resource
只截取
索引
创建
更新
,。。。。路线!!正如您所看到的,
user/planed
route正在工作,当我像这样使用路由时,它在
resource
之后:
route::get('user/test/{id},'UserController@test');,它正在工作!!!为什么?我不需要
id
wild Card你至少试过我的建议吗?是的@Amarnasan,我试过了,成功了!但是我的代码有什么问题?我是否必须始终将所有路由放在
resource
route之后?
Route::get('user/planed',['as' => 'user.planed', 'uses' => 'UserController@planed']);
Route::get('user/planed','UserController@planed'])->name('user.planed');