Не удается получить доступ к данным из массива, полученного в контроллере, для отображения в файлах представлений - PullRequest
0 голосов
/ 21 ноября 2018

В моем контроллере cakephp, когда я получаю свои данные с помощью предложения find, я получаю этот массив

Array
(
    [0] => Array
        (
            [Category] => Array
                (
                    [id] => 1
                    [Category-name] => Arts
                )

            [Course] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [category_id] => 1
                            [degree] => UG
                            [course-name] => BSc-Maths
                        )

                    [1] => Array
                        (
                            [id] => 5
                            [category_id] => 1
                            [degree] => PG
                            [course-name] => MSc Math
                        )

                    [2] => Array
                        (
                            [id] => 6
                            [category_id] => 1
                            [degree] => UG
                            [course-name] => Bsc Stats
                        )

                    [3] => Array
                        (
                            [id] => 7
                            [category_id] => 1
                            [degree] => PG
                            [course-name] => Msc-Stats
                        )

                )

        )

    [1] => Array
        (
            [Category] => Array
                (
                    [id] => 2
                    [Category-name] => Science and technology
                )

            [Course] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [category_id] => 2
                            [degree] => UG
                            [course-name] => BSc-CS
                        )

                )

        )

    [2] => Array
        (
            [Category] => Array
                (
                    [id] => 3
                    [Category-name] => Commerce
                )

            [Course] => Array
                (
                    [0] => Array
                        (
                            [id] => 3
                            [category_id] => 3
                            [degree] => PG
                            [course-name] => Msc-Finance
                        )

                )

        )

    [3] => Array
        (
            [Category] => Array
                (
                    [id] => 4
                    [Category-name] => Law
                )


        )

)

Я хочу показать все курсы для определенной категории в файле ctp как в форме.Что касается категории искусств, то здесь есть 4 курса.

Я хочу отобразить эти 4 курса для категории искусств.

Я могу отображать категории, используя тот же массив.

Ноневозможно отобразить курсы, используя тот же массив в файле y ctp, что и раскрывающийся список в форме.

Есть ли способ получить доступ к данным этих курсов?Или мне нужно использовать другой запрос для доступа к курсам ??

Пожалуйста, мне нужна ваша помощь с этим.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 ноября 2018

Я бы решил это так:

Улучшенный поисковый запрос, который выводит только имена курсов.

 $cats = $this->Category->find('all',array(
'conditions'=>array('Category.Category-name'=>'Arts')
'recursive'=>1,
'contain'=>array('Course'),
'fields'=>'Course.course-name'))[0]['Course']; 

Теперь переменная $ cats должна содержать массив с 4 записями, которые могутиспользовать в выпадающем списке выберите

...