【发布时间】:2020-02-09 05:04:28
【问题描述】:
我正在尝试在 laravel 中为管理员和用户使用不同的表(2 个表)构建多重身份验证。问题是注册和登录表单仅适用于默认身份验证登录/注册。
我尝试了一些网络教程中的示例,但没有成功。
HomeController.php:
public function __construct() {
$this->middleware('auth');
}
public function index() {
return view('home');
}
我在“Auth/RegisterController.php”中添加了createAdmin函数:
protected function createAdmin(array $data)
{
$this->validator($data->all())->validate();
$admin = Admin::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
return redirect()->intended('login/admin');
}
我已将电子邮件验证规则更改为:
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'|'unique:admins']
而路由(web.php)是:
Route::post('/register/admin', 'Auth\RegisterController@createAdmin');
当我填写管理员注册凭据并单击注册按钮时,我会收到以下消息:
Symfony\Component\Debug\Exception\FatalThrowableError 函数 App\Http\Controllers\Auth\RegisterController::createAdmin() 的参数太少,通过了 0,预期正好 1
【问题讨论】:
标签: laravel