我有我的本地機器上這個應用程式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