NTTドコモ様_dカーシェア
NTTドコモ様_dカーシェア
2008.07.03

CakePHPのbindModelの名前

づや

CakePHPのbindModelって

$this->bindModel(array('hasOne'=>array(
                    '任意の名前'=>array('foreignKey'=>'外部キー','className'=>'Modelの名前','fields'=>'取得フィールド','conditions'=>条件)                                  ));

って感じに設定できるけど、任意の名前はいつもModel名をつけてた。

変更すると帰ってくる配列が$array[‘任意の名前’][‘フィールド名’]という具合になる。

ModelAってクラスがあったとして、

$this->bindModel(array('hasOne'=>array(
                    'ModelA1'=>array('foreignKey'=>'外部キー','className'=>'ModelA','fields'=>'取得フィールド','conditions'=>条件)                                  'ModelA2'=>array('foreignKey'=>'外部キー','className'=>'ModelA','fields'=>'取得フィールド','conditions'=>条件)));

とか書いてもしっかり持ってきてくれるんだねぇ。

それぞれ違うconditionsで持って来たいときとかに使えるかも。

こういうのってCake使いには当たり前の知識なんだろうか。

model名を指定しておいて困ったことがなかったから、知らなかった。