我有两个表,帖子和类别,帖子有category_id
我可以获得所有post_name | category_id
使用$ post [Category] [name],我可以
Post | Category
Hello | php
World | php
Hi | php
Earth | php
Hello1 | asp
World1 | asp
Hi1 | asp
Earth1 | asp
如何获得:
php
Hello
World
Hi
Earth
asp
Hello1
World1
Hi1
Earth1
它的小组但是Logic已经走了,不知道如何得到它们
编辑:我认为首先应该有第一个循环获得分类而不是第二个内部获得帖子post.cat_id = cat.id但是以蛋糕的方式我不知道我该怎么做。
答案 0 :(得分:1)
使用find()检索数据时,您可以使用组参数指定要分组的内容。 以下是食谱http://book.cakephp.org/view/1018/find
中的相关章节编辑忽略上面的
所以你应该
categories = array('Category'=> array('name'=>'php','Posts'=> array()...);
在你看来,你有:
<?php
foreach($categories as $category) {
echo $category['name'];
foreach($category['Posts'] as $post) {
echo $post['name'];
}
} ?>
答案 1 :(得分:1)
您可以使用Category
控制器中的一个查询和视图中的嵌套循环执行此操作:
:
Category
并在视图中:
function some_action () {
$options = array (
'recursive' => 1,
'order' => array ( 'Category.name' => 'asc' )
);
$categories = $this->Category->find ( 'all', $options );
$this->set ( 'categories', $categories );
}