gpt4 book ai didi

php - Eloquent firstOrNew 导致重复录入错误

转载 作者:可可西里 更新时间:2023-11-01 07:37:00 24 4
gpt4 key购买 nike

我试图找到一个项目并在它存在时更新它,或者在它不存在时创建一个新项目。但是,出于某种原因,它似乎试图创建一个新对象,而不是在数据库中已经存在的情况下进行更新。

    $object = ObjectItem::firstOrNew(array('object_item_id'=>$userEditedObject['object_item_id'], 'object_id'=>$object_id));

$object->setFields($userEditedObject);

if($object->save()){
return TRUE;
} else {
return FALSE;
}

该代码似乎产生了错误

“SQLSTATE[23000]:违反完整性约束:1062 键“PRIMARY”的重复条目“113”

这很奇怪,因为我以前用过它并且工作正常 - 它似乎只是在这种特殊情况下。

最佳答案

这意味着数组 $userEditedObject 包含主键的重复值,通常是“id”。

您获取 $object 并尝试编辑其主键,以便其他行存在具有导致失败的相同主键。

查看哪个字段是您应用程序的主键,并确保您没有创建任何重复项。

关于php - Eloquent firstOrNew 导致重复录入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29911157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com