0

私が次のものを持っているとしましょう:

$categories = ORM::factory('category')->find_all();
foreach ($categories as $category) :
echo $category->category_title;
foreach ($category->posts->find_all() as $post) :
echo $post->post_title; 
endforeach;
endforeach;

それは印刷します:

Category One
Post One
Category Two

Category Three
Post Two
Category Four
Post Three

ギャップは、そこにポストがないことを意味します。

印刷したいものは次のとおりです。

Category One
Post One
Category Two
No Post
Category Three
Post Two
Category Four
Post Three

だから基本的に私は欲しい:

foreach ($posts->find_all() as $post) :
if post exists
echo $post->post_title; 
else
No Post
endforeach;

それ、どうやったら出来るの?

4

1 に答える 1

1

Kohana 3.2 と ORM を使用していると思います。

ガイドをご覧ください: http://kohanaframework.org/3.2/guide/orm/using

ORM がレコードをロードしたことを確認するというセクションがあります。

if ($post->loaded())
{
    echo $post->post_title;
}
else
{
    echo 'No Post';
}

更新された質問のカテゴリを含める:

$categories = ORM::factory('category')->find_all();
foreach ($categories as $category)
{
    $posts = $category->posts->find_all();
    if (count($posts) > 0)
    {
        echo $category->category_title;
        foreach ($posts as $post)
        {
            echo $post->post_title; 
        }
    }
    else
    {
        echo 'No Posts';
    }
}
于 2012-06-11T06:49:44.103 に答える