【发布时间】:2015-04-28 05:39:06
【问题描述】:
我正在尝试查找一个项目并在它存在时对其进行更新,或者在它不存在时创建一个新项目。但是,由于某种原因,它似乎试图创建一个新对象,而不是在数据库中已经存在的情况下进行更新。
$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]: Integrity constraint violation: 1062 Duplicate entry '113' for key 'PRIMARY'
这很奇怪,因为我以前使用过它并且效果很好——似乎只是在这种特殊情况下。
【问题讨论】:
-
表中的主键是什么?
-
113,当然。请查看我对 Margus Pala 的回答的评论
标签: php mysql laravel eloquent