用yii框架调用二级分类的问题

mace_135 2012-06-12 10:44:40
<?php

class CtcategoryController extends GtController
{
public function actionIndex()
{
$criteria = new CDbCriteria;
$criteria -> select = 'id,name';
$criteria -> limit = 15;
$criteria -> condition = 'parent_id = 0';
$categorys = CtCategory::model()->findAll($criteria);
//遍历一级分类
foreach($categorys as $category_A){
$criteria -> condition = 'parent_id = '.$category_A->id;
$category_A = CtCategory::model()->findAll($criteria);
}
$this->render('index', array(
'categorys' => $categorys,
array('category_A' => $category_A)
));
}
}
?>
这是控制器里面遍历了一级分类 按条件调二级分类 但是显示页 打印$category_A->name时结果还是一级分类的 不是二级分类的内容,我这是哪里写错了呢? 我总感觉是$this->render()调用二维数组的错了 但是具体的不知道这么写对不对。哪位高手帮忙解决一下咧 万分感谢。。。
...全文
206 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
司码君 2012-06-23
  • 打赏
  • 举报
回复
其实我是不知道你的类别有多少,但是这样遍历找数据库,可能效率不是很高
mace_135 2012-06-12
  • 打赏
  • 举报
回复
mace_135 2012-06-12
  • 打赏
  • 举报
回复
写的依赖 self::BELONS_TO 这里报错啊
mace_135 2012-06-12
  • 打赏
  • 举报
回复
$category_A在显示页我又遍历了一次定义的 ,那写了依赖后要怎么调用呢
yuan1238 2012-06-12
  • 打赏
  • 举报
回复
忘记写调用了

$criteria = new CDbCriteria;
$criteria -> select = 'id,name';
$criteria -> limit = 15;
$criteria -> condition = 'parent_id = 0';
$categories = CtCategory::model()->findAll($criteria);
echo $categories->Parent->name;// 输出父级name
//
// 遍历children
//
foreach ($categories->Children as $child)
{
echo $child->name; // 输出子级name
}
yuan1238 2012-06-12
  • 打赏
  • 举报
回复
你的$category_A在哪里定义的?
你只是在foreach里面定义,并且赋值了,但是这样的变量仅在当前作用域生效
并且在外部调用这个变量的时候,里面的数据是foreach最后一次的数据
如果你真的想调二级,那么就写依赖
在protect/models/CtCategory.php
重写

/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'Parent' => array(self::BELONS_TO, 'Your table name', 'parent_id'),
'Children' => array (self::HAS_MANY, 'Youre table name', 'parent_id')
);
}
yuan1238 2012-06-12
  • 打赏
  • 举报
回复
麻烦楼主添加代码的时候用个代码框框

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧