2012-07-10 100 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; 
'); 

你也對更新前& prePersist學說事件添加監聽器,以便這些值自動更新。

查看http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#preupdate的例子。

因此,每次保存實體時,都會自動更新相關字段。

+0

其實我想做一個批量更新。有很多記錄(數千),我想爲他們做一個查詢。 – pixel 2012-07-11 09:36:39

+0

我已經更新了我的答案 – AdrienBrault 2012-07-11 11:56:30

相關問題