CakePHPの「find(‘list’)」について少し触れようと思います。
殆どの方は「find(‘list’)」をすでに使いこなしているかと思います。
さてこの機能の出力結果はよくプルダウンメニューやセレクトボックスで利用可能な
配列の成型になっています。
例)
array( ’1’=>'値1', ’2’=>'値2' )
のような形です。
キーにはプライマリーキーが設定されますが、「値」の部分はどこを参照されるのか。
CakePHPの内部を見ると答えが出てきます。
参照してしているテーブルから「title」「name」「プライマリーキー」の順に
フィールドを探しにいきます。
大変便利ではありますが、さて上記3つが存在しない場合(プライマリキーは別として)、
もしくは独自に指定したい場合はどうするのか。。。
もちろんCakePHPは用意しています(笑
答えは
$this->モデル名->displayField = '指定したフィールド名';
こうすることで、参照するフィールドを変更することができます。
コントローラー内部で変更することが可能なので、途中で変更してデータを
取得といった方法も可能です。
ちょっと子ネタでした(笑
コメント