这是此question的扩展。我正在尝试按照多个身份验证的已接受答案,向我的Laravel项目添加一个用户表admin
。我已经完成了他所说的一切,为admin model
添加了警卫,控制器,中间件和路线。但是,当我输入之前在locolhost/admin/register
中设置的routes.php
并输入注册信息时,我收到View [admin.auth.register] not found.
错误,根据该问题给出了routes.php
:
Route::group(['middleware' => ['web']], function () {
#Route::auth();
Route::get('web-login', 'Auth\AuthController@webLogin');
Route::post('web-login', ['as'=>'web-login','uses'=>'Auth\AuthController@webLoginPost']);
Route::get('/admin/login','AdminAuth\AuthController@showLoginForm');
Route::post('/admin/login','AdminAuth\AuthController@login');
Route::get('/admin/logout','AdminAuth\AuthController@logout');
// Registration Routes...
Route::get('admin/register', 'AdminAuth\AuthController@showRegistrationForm');
Route::post('admin/register', 'AdminAuth\AuthController@register');
Route::get('/admin', 'AdminController@index');
Route::get('/', function () {
return view('welcome');
});
AdminAuth/AuthController.php
:
public function showLoginForm()
{
if (view()->exists('auth.authenticate')) {
return view('auth.authenticate');
}
return view('admin.auth.login');
}
public function showRegistrationForm()
{
return view('admin.register');
}
只定义了showLoginForm
,但register
函数没有定义。你知道我该怎么定义它吗?提前谢谢!
编辑:
以下是我的尝试:
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
Auth::login($this->create($request->all()));
return redirect($this->redirectPath());
}
但是我遇到了NotFoundHttpException
错误。你有什么想法吗?感谢!!!
答案 0 :(得分:0)
错误表明您没有名为“admins”的表。确保您拥有它或将表值更改为模型中的正确值。
限制1被添加到SQL,因为auth系统正在尝试加载单个管理(用户)记录,而不是集合。