本文介绍了Laravel抓住了雄辩的口才"Unique"现场误差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图确定由于唯一字段错误而在Laravel中由于雄辩而在雄辩中插入记录的时候.

I am trying to identify when inserting a record using eloquent in Laravel when it throws an exception because of a unique field error.

到目前为止,我的代码是:

The code I have so far is:

try {

    $result = Emailreminder::create(array(
                       'user_id' => Auth::user()->id,
                       'email' => $newEmail,
                       'token' => $token,
              ));

} catch (Illuminate\Database\QueryException $e) {
    return $e;
}

它引发异常,好吧,我只是不知道该怎么做才能将其标识为列重复错误?

It throws an exception OK I just don't know what to do to identify it as a column duplicate error?

谢谢

加文.

推荐答案

我假设您使用的是MySQL,其他系统可能会有所不同

首先,的错误代码重复输入是1062 .这是从异常中检索错误代码的方法:

Okay first, the error code for duplicate entry is 1062. And here's how you retrieve the error code from the exception:

catch (Illuminate\Database\QueryException $e){
    $errorCode = $e->errorInfo[1];
    if($errorCode == 1062){
        // houston, we have a duplicate entry problem
    }
}

这篇关于Laravel抓住了雄辩的口才"Unique"现场误差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-10 10:04