我在处理当前项目时遇到过这种情况。我必须查看是否存在记录,如果不需要添加记录,如果存在,则需要更新。用Doctrine做这件事的标准方式是什么?学说 - 检查记录的最佳方法,然后更新或添加
我似乎在查询是否存在使用find *方法的记录。然后,如果这返回一个积极的结果(对象),我使用该对象来更新。否则,(找不到记录)我必须创建另一个对象并保存()。
由于某种原因,这似乎效率低下。有更好的方法还是我只是很奇怪? :)
$user = Doctrine_Core::getTable('Model_User')->findOneByEmail('[email protected]');
if (!$user) {
$user = new Model_User();
$user->fromArray($values); // $values comes from form or wherever
$user->save();
} else {
$user->fromArray($values);
$user->save();
}
或者这个伟大的答案:http://stackoverflow.com/questions/14781688/doctrine-check-if-record-exists-based-on-field – Dung 2016-02-06 14:54:14