Cakephp如何创建嵌套的foreach

时间:2017-04-15 16:42:51

标签: foreach nested associations cakephp-3.0

我正在使用cakephp 3.我必须为一个Group创建一个视图,在每个Subject中,都会有Lessons,但在我的情况下:

集团有很多科目 主题有很多课程

这是我在GroupsController中的代码:

public function mygroup()
    {

        $this->loadModel('Lessons');

        $group = $this->Groups->get($this->Auth->user('group_id'), [
            'contain' => ['Subjects', 'Users']
        ]);

        $lesson = $this->Lessons->find('all');
        $this->set('lesson', $lesson);
        $this->set('_serialize', ['lesson']);
        $this->set('group', $group);
        $this->set('_serialize', ['group']);

    }

我必须在mygroup.ctp视图中加载课程模型,因为它与组无关:

<?php if (!empty($group->subjects)): ?>
    <?php foreach ($group->subjects as $subjects): ?>

    <?= h($subjects->subject) ?>
    <?= h($subjects->id) ?>
            <?= h($subjects->created) ?>

    <?php foreach ($lesson as $lesson): ?>
    <?php if ($subjects->id == $lesson->subject_id): ?>

    <?= h($lesson->lesson) ?>
    <?= h($lesson->subject_id) ?>
            <?= h($lesson->created) ?></div>

    <?php endif; ?>
    <?php endforeach; ?>
    <?php endforeach; ?>
<?php endif; ?>

我想在它所属的主题下面查看课程。我不知道但是主题的每个循环都在工作,但每个循环的课程它只对它显示的第一个主题起作用: 像这样:

  

Subject1        sub1的第1课        sub1的第2课        sub1的第3课

     

Subject2

     

Subject3

     

Subject4

     

Subject5

课程2至5中没有显示课程,但应该有。 你可以帮帮我吗?或者还有其他方法吗?如果有人。非常感谢。谢谢

0 个答案:

没有答案