簡體   English   中英

CakePHP - 列出按program_id分組的條目

[英]CakePHP - listing entries grouped by program_id

我的模型之間有以下關系

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行為文檔。 請注意,如果使用Containable,則不需要$this->Classroom->recursive語句。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM