2011-10-09 45 views
0

分組我有我的模型之間的下列關係CakePHP的 - 上市條目由program_id

Program hasMany Classroom 
Classroom belongsTo Program 

我所試圖實現的是顯示所有的教室,按計劃分組,例如:

方案1

-Classroom 1

-Classroom 2

-Classroom 3

計劃2

-Classroom 1

-Classroom 2 ...等

在ClassroomsController我的索引行動:

function index() { 

    $this->Access->grantAdmin(); 

    $this->Classroom->recursive = 1; 
    $this->set('classrooms', $this->paginate()); 
} 

我試圖用這個:

var $paginate = array(
    'group' => 'program_id' 
); 

但它沒有按預期工作。有任何想法嗎?由於

回答

2

嘗試增加:

var $actsAs = array('Containable'); 

的計劃模型。然後在控制器中:

$programs = $this->Classroom->Program->find('all', array(
    'contain' => array(
     'Classroom', 
    ), 
)); 
$this->set(compact('programs')); 

這應該會返回您要查找的層次結構中的數據。有關更多詳細信息,請參閱Containable behaviour文檔。請注意,如果您使用Containable,則不需要$this->Classroom->recursive聲明。

你自己的代碼示例顯示你正在使用分頁。通過查看文檔,將容易和分頁放在一起應該相當容易。

+0

Yeap!這正是我應該做的......通過Program模型獲取它們。謝謝。 – AlexBrand