2011-08-08 14 views
1

私は従来のCakePHP 1.1アプリケーションで作業しており、理想的にはいくつかのデータベースクエリを修正する必要があります。私は、1.2と1.3で作業するのに慣れています。そのため、扱いにくい古いスタイルのコードをいくつか探しています。次のクエリは、1.1で動作します:CakePHP 1.1のfindAll 1.1

$events = $this->Event->findAll(array('Event.id'=>$event_ids)); 

私は「は、配列、例えば、「Event.start>」=> [日付]に別の条件を追加したいのですが、そうするすべての試みが生じると思わクエリでnullを返す

私の混乱に追加するには、ケーキ1.1クックブックは、次のようにfindAllが働くことを示唆している:

  • のfindAll
  • 文字列$条件
  • 配列$フィールド
  • 文字列$順
  • int型$ limit
  • int $ page
  • int $ recursive

$ conditionsパラメータを文字列にする必要がある場合、どのようにして配列の形になるのでしょうか(このアプリケーションだけでなく、ネット上の他の場所でかなり見られています) ?私がCakePHP 1.1から望む結果を得るための最善のルートは何ですか?全体をケーキの現代版にアップグレードすることはできませんか?

答えて

2

CakePHP 1.1 APIを見ると、最初のパラメータ$conditionsは、mixedの値を取ります。

しかし、CakePHP 1.2 RC2では、比較演算子は連結を保存するために右から左に(または値からキーに)移動しました。

次はうまくいけば、あなたのために働く必要があります。

$events = $this->Event->findAll(array(
    'Event.id' => $event_ids, 
    'Event.start' => '> ' . gmdate(DATE_ATOM), 
)); 
+0

私は実際に自分自身のための比較演算子は1.1で、右側にあることの一例を見つけたと思います...それは確かに問題でした。将来の参考にご利用ください! – thesunneversets