首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel重复电子邮件

Laravel重复电子邮件
EN

Stack Overflow用户
提问于 2016-05-06 13:06:51
回答 1查看 1.1K关注 0票数 1

我在用户迁移中声明,用户必须是唯一的:

代码语言:javascript
复制
$table->string('email', 30)->unique();

但是,当我第一次在邮递员中使用一个用户时,我会收到以下错误:

代码语言:javascript
复制
{
  "message": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'james@gest.com' for key 'user_email_unique' (SQL: insert into `user` (`firstname`, `lastname`, `displayname`, `email`, `phonenumber`, `birthdate`, `profilepicture`, `suspended`, `role_id`, `company_id`, `updated_at`, `created_at`) values (james, egen, james egen, james@gest.com, 0628383493, , , 1, 1, 1, 2016-05-06 13:03:31, 2016-05-06 13:03:31))",
  "code": "23000",
  "status_code": 500,

当我查看我的数据库时,用户是生成的,那么为什么它会给我这个错误呢?

控制器:

代码语言:javascript
复制
  public function store(Request $request)
    {
        $result = $this->userRepo->store($request);

        if (!$this->userRepo->store($request) != null) {
            return response()->json(['message' => 'Gebruiker is succesvol aangemaakt'], 200);
        }
        return response()->json(['message' => $result], 406);
    }

userRepo:

代码语言:javascript
复制
  public function store(Request $request)
    {
        $validator = $this->validateUser($request);

        if(!$validator != null)
        {
            $user = new User([
                'firstname'             => $request->firstname,
                'lastname'              => $request->lastname,
                'displayname'           => $request->displayname,
                'email'                 => $request->email,
                'phonenumber'           => $request->phonenumber,
                'birthdate'             => $request->birthdate,
                'profilepicture'        => $request->profilepicture,
                'suspended'             => $request->suspended,
                'role_id'               => $request->role_id,
                'company_id'            => $request->company_id
            ]);

            $user->save();
            return null;
        }
        return $validator;
    }

我用的是丁哥和JWT-8月。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-06 13:12:20

看:

代码语言:javascript
复制
`if(!$validator != null)`

你不需要双重否定。你可以给:

代码语言:javascript
复制
`if(is_null($validator))`

这样你就可以得到双倍的save动作。

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

https://stackoverflow.com/questions/37073230

复制
相关文章

相似问题

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