Laravel 捕捉 Eloquent “独特"字段错误 [英] Laravel catch Eloquent "Unique" field error

查看:20
本文介绍了Laravel 捕捉 Eloquent “独特"字段错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试识别在 Laravel 中使用 eloquent 插入记录时由于唯一字段错误而引发异常时.

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

我目前的代码是:

try {

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

} catch (IlluminateDatabaseQueryException $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 (IlluminateDatabaseQueryException $e){
    $errorCode = $e->errorInfo[1];
    if($errorCode == 1062){
        // houston, we have a duplicate entry problem
    }
}

这篇关于Laravel 捕捉 Eloquent “独特"字段错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆