我在處理當前項目時遇到過這種情況。我必須查看是否存在記錄,如果不需要添加記錄,如果存在,則需要更新。用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