码迷,mamicode.com
首页 > 其他好文 > 详细

laravel 在三级分类下拉选框中默认值

时间:2018-04-25 00:20:53      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:data   foreach   UNC   输出   value   根据   bsp   option   一个   

 

这是一个商品表,记录了商品的分类,分三类,顶级分类、一级分类、二级分类

 

在编辑修改商品的信息的视图

 

先得给控制器传递商品的 id ,根据 id 获取商品全部信息,以及获取所有分类信息

 

然后进行家谱树查找,参数为分类信息-数组,商品的分类id-整型

 

这样子得到了,子对父的二维数组,

 

将此二维数组,进行无限极分类,得到三位数组

 

第一维就是顶级分类,第二维是一级分类,第三维是二级分类

 

把得到的这个数组传给视图,循环遍历,输出值给option即可

 

家谱树代码:

 

/**
* 家谱树,通过子id找父id
* @param array $data 待分类的数据
* @param int /string $pid 要找的祖先节点
* @return array
*/
function Ancestry($data , $pid) {
static $ancestry = array();

foreach($data as $key => $value) {
if($value[‘id‘] == $pid) {
$ancestry[] = $value;

Ancestry($data , $value[‘parent_id‘]);
}
}
return $ancestry;
}


无限极分类为多维数组

/**
* 把无限极分类重组成多维数组
* @param $array
* @param int $pid
* @return array
*/
function dataTree($array, $pid = 0){
$arr = [];
foreach ($array as $item) {
if ($item[‘parent_id‘] == $pid){
$tmp = dataTree($array,$item[‘id‘]);
$tmp && $item[‘son‘] = $tmp;
$arr[] = $item;
}
}
return $arr;
}
 

laravel 在三级分类下拉选框中默认值

标签:data   foreach   UNC   输出   value   根据   bsp   option   一个   

原文地址:https://www.cnblogs.com/muwu/p/8934389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!