违反完整性约束:1062 重复字段
Integrity constraint violation: 1062 Duplicate field
最近我正在使用的应用程序出现以下错误。当尝试使用 eloquent 插入记录时。
该代码在过去几个月中运行良好。现在它只是在插入“1303”条记录后抛出错误。
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du
champ '1304' pour la clef 'PRIMARY' (SQL: insert into orderrequest
Translate from: English SQLSTATE [23000]: Integrity constraint
violation: 1062 Duplicate field '1304' for the 'PRIMARY' key (SQL:
insert into orderrequest
$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();
不知道原因,但是在我将类型从 mediumint(9) 更改为 int(11) 之后,现在代码可以正常工作了。如果您知道其中的原因,请在下方评论
当您尝试插入数据库时会发生此错误。 Laravel 写道您的主键已存在于数据库中。
在模型中,主键OrderitemModel orid?
是不是又写数据了
使用OrderitemModel::findOrNew($orid)
最近我正在使用的应用程序出现以下错误。当尝试使用 eloquent 插入记录时。 该代码在过去几个月中运行良好。现在它只是在插入“1303”条记录后抛出错误。
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ '1304' pour la clef 'PRIMARY' (SQL: insert into
orderrequest
Translate from: English SQLSTATE [23000]: Integrity constraint violation: 1062 Duplicate field '1304' for the 'PRIMARY' key (SQL: insert into orderrequest
$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();
不知道原因,但是在我将类型从 mediumint(9) 更改为 int(11) 之后,现在代码可以正常工作了。如果您知道其中的原因,请在下方评论
当您尝试插入数据库时会发生此错误。 Laravel 写道您的主键已存在于数据库中。
在模型中,主键OrderitemModel orid? 是不是又写数据了
使用OrderitemModel::findOrNew($orid)