03-08-1394، 02:03 ب.ظ
سلام.
من میخوام منو های سایت رو از دیتابیس بخونم و نشون بدم . منو های اصلی مشکلی ندارن و به خوبی نمایش داده میشن اما توی ساب منو ها مشکل دارم.
تصاویر دیتابیس :
کد Controller :
کد مربوط به view :
و این هم ارور :
--------------------------------
با تغییر دادن view به صورت زیر حل شد.
من میخوام منو های سایت رو از دیتابیس بخونم و نشون بدم . منو های اصلی مشکلی ندارن و به خوبی نمایش داده میشن اما توی ساب منو ها مشکل دارم.
تصاویر دیتابیس :
کد Controller :
<?php class NewController extends Controller{ public function actionIndex(){ $criteria=new CDbCriteria(); $criteria->addCondition('parent_id IS NULL'); $cat=Category::model()->findAll($criteria); $this->render('index', compact('cat')); } }
کد مربوط به view :
<?php foreach ($cat as $category): ?> <li class="parent item8"> <a href="/index.php/services"> <span><?php echo CHtml::encode($category->name); ?></span> </a> <?php $criteria=new CDbCriteria(); $criteria->addColumnCondition(array('parent_id'=>$category->id)); $sub_cat= Category::model()->findAll($criteria); ?> <ul> <li class="item9"> <a href="/index.php/services/1391-02-20-14-19-11"> <span><?php if($sub_cat){ echo CHtml::encode($sub_cat->name);}?></span> </a> </li> </ul> </li> <?php endforeach; ?>
و این هم ارور :
Trying to get property of non-object
--------------------------------
با تغییر دادن view به صورت زیر حل شد.
<?php function Display($s_cat){ $sub_cat= CHtml::encode($s_cat->name); echo <<<EOT <li class="item9"> <a href=""> <span>{$sub_cat}</span> </a> </li> EOT; } ?> <?php foreach ($cat as $category): ?> <li class="parent item8"> <a href="/index.php/services"> <span><?php echo CHtml::encode($category->name); ?></span> </a> <ul> <?php $criteria=new CDbCriteria(); $criteria->addColumnCondition(array('parent_id'=>$category->id)); $criteria->order='id DESC'; $sub_cats= Category::model()->findAll($criteria); array_walk($sub_cats,'Display'); ?> </ul> </li> <?php endforeach; ?>