使用yii框架怎么实现一个无限极分类

  介绍

使用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框架怎么实现一个无限极分类