我最近收到了轰鸣声错误我目前使用的应用程序。当尝试使用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();
答案 0 :(得分:0)
不知道原因但是在我将类型从mediumint(9)更改为int(11)后,现在代码完全正常工作。如果你知道原因,请发表评论
答案 1 :(得分:0)
尝试插入数据库时会发生此错误。 Laravel写道,您的主键已存在于数据库中。
在模型中,主键OrderitemModel orid? 你是否再次写了数据。
使用OrderitemModel :: findOrNew($ orid)