遞歸-實現省市區三級聯動


 
        
public static function linkage()
{
//由於數據量太大,只循環了pid=1的數據 (查詢省市區的id,區域名稱,父級id)
$data = Address::whereIn('type',[2,3,4])->get(['id','name','pid'])->toArray();
return self::getTree($data);
}
//遞歸
public static function getTree($data,$pid =1)
{
$list = [];
foreach ($data as $value)
{
//第一次遍歷,找到父節點為1的
if ($value['pid'] == $pid){
//開始遞歸,查找父id為該節點id的節點
if (!empty(self::getTree($data, $value['id']))){
$value['childList'] = self::getTree($data, $value['id']);
}
$list[] = $value;
}
}
return $list;
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM