가장 간단한 업데이트 쿼리를 사용하려고하지만 Doctrine이 UPDATE 대신 INSERT 문을 실행합니다.Doctrine이 업데이트되어야 할 때 삽입합니다.
$q = Doctrine_Query::create()
->from('Image i')
->where('id = ?');
$image = $q->fetchOne($articleId, Doctrine_Core::HYDRATE_RECORD);
$image->copyright = "some text";
$image->save();
나는 또한 수동에서 예를 사용하여 시도했지만, 여전히 새로운 레코드가 삽입됩니다 :
$userTable = Doctrine_Core::getTable('User');
$user = $userTable->find(2);
if ($user !== false) {
$user->username = 'Jack Daniels';
$user->save();
}
편집 :
수동 작업에서이 예 :
$user = new User();
$user->assignIdentifier(1);
$user->username = 'jwage';
$user->save();
재미있는 점은 내가 티를 사용한다는 것입니다. 다른 모델에서 작동하며 정상적으로 작동합니다. 어쩌면이 작업을 위해 전체 배열 그래프를 가져와야합니다 (일대 다 관계의 다른 모델이 있음)?
잘 모델과 엔티티에서 생성자를 사용하십시오. 저는 교리 1에 대해 모르지만 교리 2에서는 아무런 문제가 없습니다. – tomazahlin
이 답변은 7 년 전에 작성되었습니다 :) –