完整性约束违规:1062重复字段

时间:2017-01-26 05:37:22

标签: php mysql laravel laravel-5.3

我最近收到了轰鸣声错误我目前使用的应用程序。当尝试使用eloquent插入记录时。 这段代码在过去的几个月里完美地运作了。现在它只是在‚ 1303'之后抛出错误。插入的记录。

  

SQLSTATE [23000]:完整性约束违规:1062 Duplicata du   冠军' 1304'倒小提琴' PRIMARY' (SQL:插入orderrequest

     

翻译自:英语SQLSTATE [23000]:完整性约束   违规行为:1062重复字段' 1304'对于初级'键(SQL:   插入订单请求

    $today = date("Y-m-d H:i:s");
    $order = OrderModel::find($id);
    $kot = new OrderrequestModel;
    $kot->orid = $id;
    $kot->location = $order->location;
    $kot->provider = "kitchen";

    $orderitems =OrderitemModel::where('orid', '=', $id)->get();
    $total = 0;


    foreach ($orderitems as $orderitem) {
        //$total = $total+($orderitem->price * $orderitem->qty);
        if($orderitem->provider=="kitchen"){
    $kot->token .= '<tr>
            <td align="left">'.$orderitem->fiid.'</td>
            <td align="left">'.$orderitem->item.'</td>
            <td align="center">'.$orderitem->provider.'</td>
            <td align="center">'.$orderitem->qty.'</td>

          </tr>';
          $orderitem->isreq = "k";
          $orderitem->save();
        }
    }
    $kot->token .= '</table>';
    $kot->type = "full";
    $kot->save();

2 个答案:

答案 0 :(得分:0)

不知道原因但是在我将类型从mediumint(9)更改为int(11)后,现在代码完全正常工作。如果你知道原因,请发表评论

答案 1 :(得分:0)

尝试插入数据库时​​会发生此错误。 Laravel写道,您的主键已存在于数据库中。

在模型中,主键OrderitemModel orid? 你是否再次写了数据。

使用OrderitemModel :: findOrNew($ orid)