2012-07-10 4 views

답변

1

당신이하는 DQL 쿼리로 수행 할 수

$em->createQuery(' 
    UPDATE entityClass e 
    SET e.price = e.constant * 33; 
'); 

당신도 원시 SQL로 그렇게 할 수 있습니다

$em->getConnection()->executeUpdate(' 
    UPDATE entity_table_name AS e 
    SET e.price = e.constant * 33; 
'); 

당신은 또한 preUpdate & prePersist 교리 이벤트에 리스너를 추가 할 수 있습니다, 이러한 값은 자동으로 업데이트됩니다.

예를 들어 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#preupdate을 참조하십시오.

엔티티를 저장할 때마다 관련 필드가 자동으로 업데이트됩니다.

+0

사실 저는 일괄 업데이트를하고 싶습니다. 많은 레코드 (수천)가 있고 나는 그들 모두에 대해 하나의 쿼리를하고 싶습니다. – pixel

+0

내 대답을 업데이트했습니다. – AdrienBrault

관련 문제