我的模特之间有以下关系

Program hasMany Classroom
Classroom belongsTo Program


我要实现的目的是显示按计划分组的所有教室,例如:

程序1

-教室1

-教室2

-教室3

程序2

-教室1

-教室2 ...等等

我在ClassroomsController中的索引操作:

    function index() {

    $this->Access->grantAdmin();

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


我试图用这个:

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


但是它没有按我预期的那样工作。有任何想法吗?谢谢

最佳答案

尝试添加:

var $actsAs = array('Containable');


程序模型。然后在控制器中:

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


这将返回您要查找的层次结构中的数据。有关更多详细信息,请参见Containable behaviour文档。请注意,如果使用Containable,则不需要$this->Classroom->recursive语句。

您自己的代码示例显示您正在使用分页。通过环顾文档,将可容纳性和分页放在一起应该是相当容易的。

关于php - CakePHP-列出按program_id分组的条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7706530/

10-09 00:45