如何在Laravel 5.2中使用资源声明路线



我在rutes.php中有一些路由

 // Code for rounting admin panel
 Route::resource('/admin','AdminLoginController@index');
 Route::resource('/admin/dashboard','AdminAdminController@index');
 Route::resource('/admin/movies','AdminMovieController@index');

现在,当我访问URL http://localhost/askspidy/admin时,我想显示登录页面并有效,但是当我访问url url http://localhost/askspidy/admin/admin/dashboard时,它应该转到dashboard,但是它是仅向我显示登录页面。我知道这是因为当它在任何URL中找到/admin时,它是拜默default的

 Route::resource('/admin','AdminLoginController@index');

我知道这是假设(/admin)是通往控制器的路由,(/dashboard)是控制器中声明的函数,但我只希望这样的路由,所以此问题是否有其他解决方案。

<</p>

一个恢复的资源控制器接管每个动作的责任。您只需要列出名称和控制器:

Route::resource('photo', 'PhotoController');

如果您只想使用index方法,则会这样列出:

Route::resource('photo', 'PhotoController', ['only' => [
    'index'
]]);

但是,看来您的两条路线不适合资源(登录和仪表板),因为它们应该与编辑模型有关。

您应该改用get()资源。

来自文档:

Route::get('user/{id}', 'UserController@showProfile');

因此,在您的情况下,是:

Route::get('/admin','AdminLoginController@index');
Route::get('/admin/dashboard','AdminAdminController@index');
Route::resource('/admin/movie','AdminMovieController');

最新更新