2009年10月16日金曜日

CakePHPでのfindとreadの違い

CakePHPでDBからデータを取得する場合、
$data = $this->Model->find('all',$params);

$this->data = $this->Model->read();
というコードで、取得しますが、
このfindとreadの違いが、長らくわかってなかった。

view側で、readで取得したデータをforeachで回して、
(1件のデータだが、viewを共通にする必要があったため)
表示させようとしたが、どうも表示できなくて、
また1時間以上悩んでしまった。

なんだろと考えていたら、
findでは、複数件のデータを、
readでは、1件のデータを取得するので、
array変数内のデータの階層が違うことが判明した、、、、
ああ、なんとそういうことか、、、っていう感じ

結局、readではなくfindを使うように変更した。

やっぱり理解が乏しい部分では、問題が起きるよね。
何が辛いってこのはまりの状態で、
作業がさっぱり進まないのが辛い。
最近こういうのが多い。

0 件のコメント:

コメントを投稿