タグ

2010年2月26日のブックマーク (1件)

  • Doctrine_Collectionをループする

    Symfony 1.4+Doctrine やたら不便(だと個人的には思っている)なDoctrineの、SELECTに関するメモ。 やりたかったことは、ある条件で抽出した複数行に1行ずつ処理を加えて書き戻すというフロー。 fetchArray()とかでは配列しか返ってこないので意味がなく、fetchOne()では先頭行しか返ってこない。 fetchOne()を複数回実行すればいいのかと思ったら無限ループに陥った。 findByではorderByをするのにフックを使わないといけないらしいのでパス。 一応、以下の方法で解決しました。 $collection = Doctrine_Query::create() ->select('u.*') ->from('Users u') ->where('u.flag = ?', '1') ->orderBy('u.id') ->execute(); va

    brtRiver
    brtRiver 2010/02/26
    getIteratorでループ。なるほど。