BadMethodCallException:Method App\Http\Controllers\Auth\AdminLoginController::showLoginForm 不存在
BadMethodCallException:Method App\Http\Controllers\Auth\AdminLoginController::showLoginForm does not exist
代码可能有什么问题。
方法 App\Http\Controllers\Auth\AdminLoginController::showLoginForm 不存在。
下面是我的 AdminLoginController.php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
public function showLoginForm()
{
return view('auth.admin-login');
}
这是我的web.php
Route::prefix('admin')->group(function() {
Route::get('/login', 'Auth\AdminLoginController@showLoginForm')->name('admin.login');
Route::post('/login', 'Auth\AdminLoginController@login')->name('admin.login.submit');
Route::get('/', 'AdminController@index')->name('admin.dashboard');
Route::get('/logout', 'Auth\AdminLoginController@logout')->name('admin.logout');
});
我认为问题出在名称空间
Route::group([
'namespace' => 'Admin',
'as' => 'admin.',
'prefix' => 'admin'
],function(){
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
});
现在,如果您使用的是自定义登录控制器,请不要忘记在文件顶部提及正确的命名空间,如下所示,
namespace App\Http\Controllers\Admin\Auth;
进行更改后,请输入以下命令:-
composer dumpa // also known as composer dump-autoload
php artisan config:cache
php artisan view:clear
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
public function showLoginForm()
{
return view('auth.admin-login');
}
这是我的web.php
Route::prefix('admin')->group(function() {
Route::get('/login', 'Auth\AdminLoginController@showLoginForm')->name('admin.login');
Route::post('/login', 'Auth\AdminLoginController@login')->name('admin.login.submit');
Route::get('/', 'AdminController@index')->name('admin.dashboard');
Route::get('/logout', 'Auth\AdminLoginController@logout')->name('admin.logout');
});
我认为问题出在名称空间
Route::group([
'namespace' => 'Admin',
'as' => 'admin.',
'prefix' => 'admin'
],function(){
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
});
现在,如果您使用的是自定义登录控制器,请不要忘记在文件顶部提及正确的命名空间,如下所示,
namespace App\Http\Controllers\Admin\Auth;
进行更改后,请输入以下命令:-
composer dumpa // also known as composer dump-autoload
php artisan config:cache
php artisan view:clear