介绍
使用yii框架怎么实现一个无限极分类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
控制器:
protected function 子树(arr美元$ id=0,列弗=1美元){ ,,,subs 美元;=,数组();,//,子孙数组 ,,,foreach (arr 美元;as $ v), { ,,,,,如果(v美元[& # 39;parent_id& # 39;],==, $ id), { ,,,,,,,美元v(& # 39;列弗# 39;],=,列弗美元; ,,,,,,,潜艇[],美元=,v美元;,//,举例说找到数组(& # 39;id # 39;=祝辞1 & # 39;名字# 39;=祝辞& # 39;安徽& # 39;,& # 39;父母# 39;=祝辞0), ,,,,,,,subs 美元;=,array_merge(潜艇,这→美元子树(arr, v美元[& # 39;cat_id& # 39;],列弗+ 1美元)); ,,,,,} ,,,} ,,,return 潜艇美元; ,,} public function  actionCreate () {才能 ,,,model 美元;=,new EcsCategory (); ,,,query 美元;=,new \ yii \ db \查询(); ,,,美元查询→选择(& # 39;* & # 39;) ,,,,,,从(& # 39;ecs_category& # 39;); ,,,command 美元;=,查询→美元createCommand (); ,,,res=命令→美元queryAll (); ,,,tree 美元;=,$ this→子树(res美元0 1); ,,,foreach (tree 美元;as $ k=祝辞,美元v), { ,,,,,美元树($ k) [& # 39; new_cat_name& # 39;]=函数(& # 39;——& # 39;美元v(& # 39;列弗# 39;])。美元v (& # 39; cat_name& # 39;] .str_repeat(& # 39;——& # 39;美元v(& # 39;列弗# 39;]);,//str_repeat 作用;重复一个字符串 ,,,} ,,,arr=美元阵列( ,,,,,& # 39;new_cat_name& # 39;=祝辞& # 39;顶级分类& # 39;, ,,,,,& # 39;cat_id& # 39;=在0 ,,,); ,,,函数(树,arr美元); ,,,if (模型→美元负载(Yii:应用程序→美元请求→post()),,,,美元模型→保存()),{ ,,,,,return $ this→重定向((& # 39;视图# 39;,,& # 39;id # 39;,=祝辞,模型→美元cat_id]); ,,,},{else ,,,,,return $ this→渲染(& # 39;创建# 39;,,( ,,,,,,,& # 39;模型# 39;,=祝辞,元模型, ,,,,,,,& # 39;数据# 39;=祝辞美元树, ,,,,,); ,,,} 以前,,}>视图:
, use \ yii \助手\ ArrayHelper; & lt; ?=,美元形式→字段(模型中,美元,& # 39;parent_id& # 39;)→dropDownList (ArrayHelper:地图($ data & # 39; cat_id& # 39;, & # 39; new_cat_name& # 39;),,(& # 39;提示# 39;,=祝辞,& # 39;请选择父级分类& # 39;]),?在关于使用yii框架怎么实现一个无限极分类问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
使用yii框架怎么实现一个无限极分类