コアビヘイビア containable
containable
- モデルの$actsAsプロパティに指定しよう
<?php //app/Model/Topic.php class Topic extends AppModel { public $belongsTo = array('Category'); public $hasMany = array('Comment'); //ここ!!!!!!! public $actsAs = array('Containable'); } <?php //app/Controller/TopicController.php class TopicController extends AppController { //Topicモデルのデータのみ取得 public function index() { $this->Topic->contain(); $data = $this->Topic->find('all'); //Commentモデルのデータのみ取得 $this->Topic->contain('Comment'); $data2 = $this->Topic->find('all'); //CommentとCategoryのデータを取得 $this->Topic->contain('Category','Comment'); $data3 = $this->Topic->find('all'); // containオプションからの指定 $data4 = $this->Topic->find('all',[ 'contain' => 'Category' ]); }
☆2階層目を指定できる。
$this->contain([
'Topic' => [
'Comment' => [
'SubComment'
]
],
'Category' => [
'Comment' => [
'SubCommentl'
]
],
]);
自由にデータを取得できるね!!!!!