[英]mysql query help needed - Group by parent
我正在嘗試執行一個mysql查詢,該查詢將創建一個父項數組,其子項位於下面。 但我不確定100%如何。 到目前為止,這是我所做的:
SELECT * FROM類別作為rf ORDER BY父項,名稱為ASC
這是輸出的內容(數組):
Array
(
[0] => stdClass Object
(
[id] => 7
[name] => Safety Clothing
[parent] => 0
)
[1] => stdClass Object
(
[id] => 8
[name] => Safety Footwear
[parent] => 0
)
[2] => stdClass Object
(
[id] => 9
[name] => Workwear
[parent] => 0
)
[3] => stdClass Object
(
[id] => 4
[name] => Polos
[parent] => 7
)
[4] => stdClass Object
(
[id] => 3
[name] => Shirts
[parent] => 7
)
[5] => stdClass Object
(
[id] => 6
[name] => Jackets
[parent] => 9
)
[6] => stdClass Object
(
[id] => 1
[name] => Pants
[parent] => 9
)
[7] => stdClass Object
(
[id] => 2
[name] => Shirts
[parent] => 9
)
[8] => stdClass Object
(
[id] => 5
[name] => Shorts
[parent] => 9
)
)
如您所見,子項具有父項的ID(父項的ID設置為0),但是我不確定如何將所有子項合並在一起以形成如下數組:
父母
-孩子
-孩子
父母
父母
-孩子
-孩子
-孩子
任何幫助,將不勝感激 :)
也
SELECT parent,GROUP_CONCAT(name)作為類別的名稱,如rf GROUP BY 1;
您將在第一列中為每個具有父ID的父對象獲得一行,在第二列中以逗號分隔子名稱。
如果可以使用該數組中的數據構建嵌套數組,則:每個對象將具有一個Array變量。 然后,在構建初始數組之后,通過解析初始數組將子級手動移到其父級下。
解析的方法將是遞歸的,並將采用初始數組和當前正在構建的子數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.