خوب من به صورت اکتیو کوئری لازم داشتم ولی با استفاده از doaنوشتم که خوب کار رو راه میندازه ولی با اکتیو رکورد باشه بهتره کارهایی که انجام دادم رو با تصویر میزام تا شاید بقیه هم استفاده کنن ولی باز میگم به صورت اکتیو کوئری میخوام باشه
1.jpg
خوب کدها به این صورت هستن
public function fetchCategoryTree($parent = 0, $spacing = '', $user_tree_array = '') {
if (!is_array($user_tree_array))
$user_tree_array = array();
$sql = 'SELECT * FROM product_category where active=1 and id_parent=:parent;';
$con=Yii::$app->db->createCommand($sql)->bindValue(':parent',$parent)->queryAll();
if (count($con) > 0) {
foreach ($con as $row) {
$user_tree_array[] = array("id" => $row['id_category'], "name" => $spacing . $row['name']);
$user_tree_array = self::fetchCategoryTree($row['id_category'], $spacing . ' ', $user_tree_array);
}
}
return $user_tree_array;
}
کدهای بالا برای استفاده در select هستش ئ کدهای پایین به صورت ul li هست
public function fetchCategoryTreeList($parent = 0, $user_tree_array = '') {
if (!is_array($user_tree_array))
$user_tree_array = array();
$sql = 'SELECT * FROM product_category where active=1 and id_parent=:parent;';
$con=Yii::$app->db->createCommand($sql)->bindValue(':parent',$parent)->queryAll();
if (count($con) > 0) {
$user_tree_array[] = "<ul class='nav navbar-nav ntul'>";
foreach ($con as $row) {
$user_tree_array[] = "<li>".Html::a($row['name'],['/category/view','id'=>$row['id_category']])."</li>";
$user_tree_array = self::fetchCategoryTreeList($row['id_category'], $user_tree_array);
}
$user_tree_array[] = "</ul>";
}
return $user_tree_array;
}
همین توابع رو به ویو انتقال میدم تنها راهی که فعلا پیدا کردم همین بود راهی برای تبدیل این به active query توی مدل میدونید بگید اگه میشه جدولمم یدونه هست که دارای id و parentid هست تو کدهامم نوشتم معلومه