cakephpで同一SQLを複数回発行する

CakePHPは親切なので、全く同じSELECT文を発行した場合、

SQLを実行せず、キャッシュから結果を返してくれます。

 

場合によってはキャッシュされた結果を使いたくない時もあるので、

そのような場合は以下のようにします。

while(1) {

    // 実行したいSQL
    $sql = "SELECT * FROM table WHERE column = ? FOR UPDATE;

    // バインド機能使おうね
    $bind = $hoge . $uge;

    // 第三引数でキャッシュしないように指定
    $this->Model->fetchAll($sql, array($bind), array('cache'=>false));

}

ちなみにCakePHP2.xで試しました。