CakePHP

CakePHP find(‘list’)について

CakePHPの「find(‘list’)」について少し触れようと思います。

殆どの方は「find(‘list’)」をすでに使いこなしているかと思います。
さてこの機能の出力結果はよくプルダウンメニューやセレクトボックスで利用可能な
配列の成型になっています。
例)

array(
’1’=>'値1',
’2’=>'値2'
)

のような形です。
キーにはプライマリーキーが設定されますが、「値」の部分はどこを参照されるのか。

CakePHPの内部を見ると答えが出てきます。
参照してしているテーブルから「title」「name」「プライマリーキー」の順に
フィールドを探しにいきます。
大変便利ではありますが、さて上記3つが存在しない場合(プライマリキーは別として)、
もしくは独自に指定したい場合はどうするのか。。。

もちろんCakePHPは用意しています(笑
答えは

$this->モデル名->displayField = '指定したフィールド名';

こうすることで、参照するフィールドを変更することができます。
コントローラー内部で変更することが可能なので、途中で変更してデータを
取得といった方法も可能です。

ちょっと子ネタでした(笑

コメント