0
我有兩列的表:price
和constant
。如何根據Doctrine2中表中的另一個字段更新字段?
我想運行更新表中的所有條目以更新price
根據constant * coefficient
。
我該怎麼做這樣的查詢?
我有兩列的表:price
和constant
。如何根據Doctrine2中表中的另一個字段更新字段?
我想運行更新表中的所有條目以更新price
根據constant * coefficient
。
我該怎麼做這樣的查詢?
你可以做到這一點與一個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的例子。
因此,每次保存實體時,都會自動更新相關字段。
其實我想做一個批量更新。有很多記錄(數千),我想爲他們做一個查詢。 – pixel 2012-07-11 09:36:39
我已經更新了我的答案 – AdrienBrault 2012-07-11 11:56:30