我有我的本地机器上这个应用程式laravel 5.3使用两个controllers
解决laravel 5.3路由名称冲突
AdminUsersController和AgentUsersController
现在,我通过以下方式设置其routes
:
Route::group(['middleware' => 'admin'], function(){
Route::get('/admin', function(){
return view('admin.index');
});
Route::resource('admin/users', 'AdminUsersController');
Route::resource('admin/posts', 'AdminPostsController');
});
Route::group(['middleware' => 'agent'], function(){
Route::get('/agent', function(){
return view('agent.index');
});
Route::resource('agent/posts', 'AgentPostsController');
});
当我list
在此与php artisan route:list
的路线我g等下了进来:
+--------+-----------+-------------------------+---------------+------------------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+-------------------------+---------------+------------------------------------------------------------------------+--------------+
| | GET|HEAD |/ | | Closure | web |
| | GET|HEAD | admin | | Closure | web,admin |
| | GET|HEAD | admin/posts | posts.index | App\Http\Controllers\[email protected] | web,admin |
|
| | GET|HEAD | agent/posts | posts.index | App\Http\Controllers\[email protected] | web,agent |
| | POST | agent/posts | posts.store | App\Http\Controllers\[email protected] | web,agent |
注意,URI agent/posts
有name
posts.index
,而且URI admin/posts
有name
posts.index
。
现在在我的blade template
当我添加route
为admin user
像这样{{route('posts.index')}}
。我得到URI mydomain/agent/posts
而不是mydomain/admin/posts
。如何让route
在blade
知道URIs
选择哪一个。
我知道我也可以用URL('/admin/posts')
来挑选合适的人,但我想知道是否可以使用route
方法。
为什么不能'laravel'解决此基础上我的'角色authentication'添加到应用程序。 –
@udoyen有许多方法可以更改不同角色/用户类型的路由,但这不是您要求的。 – manniL