CakePHP - печать детей поста, как - PullRequest
0 голосов
/ 08 августа 2011

Ниже выводится отладочный файл posts_controller.В настоящее время я использую синтаксис:

<?php foreach ($posts as $post): ?> ... <?php endforeach; ?>

для печати постов в представлении, однако это дает только большинство внешних постов (т. Е. Родительские посты и никакие дочерние посты не печатаются).

ВОПРОС:

Как мне также распечатать все дочерние записи прямо под каждым родительским сообщением?Является ли решение встроенным циклом foreach?

DEBUG:

Array
(
    [0] => Array
        (
            [Post] => Array
                (
                [active] => 1
                [id] => 1
                [parent_id] => 0
                [created] => 2011-08-06 03:54:07
                [modified] => 2011-08-06 03:54:07
                [text] => a
            )

        [Children] => Array
            (
                [0] => Array
                    (
                        [active] => 1
                        [id] => 3
                        [parent_id] => 1
                        [created] => 2011-08-08 01:54:24
                        [modified] => 2011-08-08 01:54:24
                        [text] => c
                    )

                [1] => Array
                    (
                        [active] => 1
                        [id] => 2
                        [parent_id] => 1
                        [created] => 2011-08-06 03:54:37
                        [modified] => 2011-08-06 03:54:37
                        [text] => b
                    )

            )

    )

)

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Is it an embedded foreach loop the solution? Э-э ... да.Я не думаю, что есть другой способ.

foreach ($posts as $post):
    echo $post['Post']['id'];
    foreach ($post['Children'] as $child_post){}
  endforeach; 
1 голос
/ 08 августа 2011
$childPosts = Set::extract('/Children', $posts);
...