Laravel,如何使用另一个控制器到同一个文件夹

时间:2014-07-19 14:58:54

标签: php laravel laravel-routing

我非常怀疑使用Laravel构建应用程序的结构,因为我想使用两个使用相同文件夹的控制器,例如,这是我当前的结构:

文件夹结构

app/views/dashboard.blade.php
app/views/settings.blade.php
app/views/business/dashboard.blade.php
app/views/business/settings.blade.php

routes.php文件

Route::get('/user/dashboard','HomeController@dashboard');
Route::get('/user/settings','HomeController@settings');

Route::post('/user/login','UserStandardController@login');
Route::post('/user/logout','UserStandardController@logout');

Route::get('/business/dashboard','BusinessController@dashboard');
Route::get('/business/settings','BusinessController@settings');

Route::controller('/','HomeController');
Route::resource('/business','BusinessController');
Route::resource('/','UserStandardController');
Route::resource('/','UserBusinessController');

基本上:

  • HomeController 用于加载标准用户的视图。
  • BusinessController 用于加载业务用户的视图。
  • UserStandardController UserBusinessController 用于这些帐户的操作,例如:登录,注销,更新设置,更新个人资料等。

但问题是当我尝试加载mysite.com/user/login时,laravel说"方法[登录]"并不存在,显然是因为HomeController不存在登录方法,但存在于UserStandardController中......但我不知道如何做到这一点。

我希望你能帮助我!

2 个答案:

答案 0 :(得分:1)

POST只有/user/login路由,您还需要Route::get

答案 1 :(得分:0)

您必须在UserStandardController类中创建一个登录方法,以便此错误消失。

as / user / login正在UserStandardController中搜索登录方法。

我希望这会有所帮助。