【发布时间】:2020-03-24 13:48:56
【问题描述】:
我想用邀请码在我的网站上注册,所以我在控制器中添加了 If 语句以检查激活码
protected function create (array $data)
{
if ($data['activation_code'] === 'mypassword123') {
return User::create([
'name' => $data['name'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
return redirect('/register')->with('message', 'De activatiecode is onjuist');
}
}
当我提交注册时出现此错误
传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给出的 Illuminate\Http\RedirectResponse 的实例,在 C:\xampp\htdocs 中调用\Suppliers\vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php 第 35 行
所以我不知道问题出在哪里,请帮忙
【问题讨论】:
-
您返回的是 User::create() 的结果,即 User 对象。您需要返回要呈现的元素或重定向页面。
-
您正在返回响应。但是 laravel 希望你返回一个扩展 Authenticable(用户)的模型。可以看看方法上面的cmets吗?
-
@Ezrab_ 你说得对,谢谢!
标签: laravel forms controller