首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 8中独特的用户注册响应

Laravel 8中独特的用户注册响应
EN

Stack Overflow用户
提问于 2021-12-09 09:24:31
回答 2查看 150关注 0票数 0

当已经存在具有相同电子邮件id的用户时,我希望得到一个JSON响应。

代码语言:javascript
复制
public function register(Request $request)
    {
        $user = new User();
        $user->name = $request->input('name');
        $user->email = $request->input('email');
        $user->password = Hash::make($request->input('password'));
        if($user->save()){
            if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) {
                return response(['result' => true, 'user' => Auth::user()]);
            }
        }
        return response(['result' => false, 'user' => new User()]);
    }

在这个时候我没有得到错误的结果。我得到了如下的回应

代码语言:javascript
复制
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'pkxxx@gmail.com' for key 'users_email_unique' (SQL: insert into `users` (`name`, `email`, `password`, `updated_at`, `created_at`) values (Pramod, pkxxx@gmail.com, $2y$10$mB7NKRp/uyfkjHhmS3y05OdrvR.2/nGeeiuJj9JrILLGHoXUUt3ce, 2021-12-09 08:40:30, 2021-12-09 08:40:30))

请告诉我怎样才能得到这样的回复:“用户已经用相同的电子邮件id注册了。”

EN

回答 2

Stack Overflow用户

发布于 2021-12-09 09:43:55

您应该使用laravel身份验证,而不是创建自己的系统。

laravel在其认证脚手架套件中已经有LoginContoller / RegisterController等。

https://laravel.com/docs/8.x/starter-kits

票数 0
EN

Stack Overflow用户

发布于 2021-12-10 03:12:15

我认为你应该先判断电子邮件是否存在,然后再做下一步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70287431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档