私はCakePHPの新機能ですが、モデルとそれに関連するすべてのモデルを簡単に選択できるというのは本当に楽しいですが、もっと簡単な方法があれば分かりません各モデルから選択されたすべてのフィールド。CakePHPのデフォルトモデルフィールド
たとえば、モデルデータを取得するときにすべてのフィールドを自動的に選択するのではなく、毎回fields => array(...)を指定することなく、どのフィールドを指定できるかデフォルトで選択されていますか?
私はCakePHPの新機能ですが、モデルとそれに関連するすべてのモデルを簡単に選択できるというのは本当に楽しいですが、もっと簡単な方法があれば分かりません各モデルから選択されたすべてのフィールド。CakePHPのデフォルトモデルフィールド
たとえば、モデルデータを取得するときにすべてのフィールドを自動的に選択するのではなく、毎回fields => array(...)を指定することなく、どのフィールドを指定できるかデフォルトで選択されていますか?
はい、「フィールド」キーが設定されている場合はそのモデルを確認し、そうでない場合はそこに設定できます。しかし、私はデバッグをもっと綺麗に見せる以外に、それを行うことでパフォーマンスがほとんど向上しないと言います。モデルに変更を加えなければならない場合は、もう1つ注意が必要です。
あなたが収容可能の行動を見てしたい - http://book.cakephp.org/view/1323/Containable
それは非常によく文書化されていますが、あなたの簡単な概要を与えることを
$this->Article->find('all', array(
'contain' => array(
'Author.name',
'Category' => array(
'name',
'icon'
)
)
));
だけと一緒に、すべての記事データを返します3つの他のフィールド。
私は、最も単純なものを除いてすべてで使用しているので、Containerが私のapp_model定義に追加されました。
ます。また、モデルで独自のfindメソッドを作成することができ:
はコントローラでfunction findSelected($options = array()) {
$options['fields'] = array('id','name');
return $this->find('all', $options);
}
:
$this->Model->findSelected(array('order' => 'id ASC'));
findSelected方法でオプションの配列をマージするとしても立派、そしてあなたも提供することができますオンザフライで追加のフィールド。
同意しない、セキュリティ上の利益がある... –