タグ

2011年8月5日のブックマーク (1件)

  • Doctrine | process S+D

    ふつうにSQLでUPDATE文を書くときは、複数のレコードに対して変更が適用されますが、Doctrine_Recordクラスを使って変更をしようとすると、一つ一つレコードを取得して、save()メソッドを呼ぶということをしなければなりません。 これはリソースの無駄遣いなので、複数のレコードを一括して変更する場合は、Doctrine_Queryのupdate()メソッドを使います。 $q = Doctrine::getTable('SomeTable')->createQuery(); $q->update('SomeTable'); $q->set('field_name', 'new_field_value'); $q->where('field_name > ?', 'some_value'); $q->execute();