2つの列を持つテーブルがあります:price
とconstant
。
price
テーブル内のすべてのエントリに対してupdateを実行して、に基づいて更新したいと思いますconstant * coefficient
。
どうすればそのようなクエリを実行できますか?
2つの列を持つテーブルがあります:price
とconstant
。
price
テーブル内のすべてのエントリに対してupdateを実行して、に基づいて更新したいと思います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;
');
preUpdate&prePersist doctrineイベントにリスナーを追加して、これらの値が自動的に更新されるようにすることもできます。
エンティティを保存するたびに、関連するフィールドが自動的に更新されるようにします。