簡體   English   中英

MySQL查詢需要幫助-按父組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM