次のデータがあります。
id parent_id
------------------ ------------------
Editor null
Printer Editor
TextWritingProggie Printer
LaTeX TextWritingProggie
OOfficeWriter TextWritingProggie
PhoneBook TextWritingProggie
PhoneBook id とそのすべての親を照会しています。彼の親は null であり、彼は TextWritingProggie を介して接続されたプリンターを介して接続され、電話帳に接続されているため、エディターにつながる階層である必要があります。
SQL を使用する方が好ましいと思いますが、PHP で処理する必要があるかもしれません。
これは私がこれまでに得たものですが、TextWritingProggie を含まないレコードの後に停止します
SELECT * FROM acl_resources
WHERE id = 'TextWritingProggie' OR parent_id = 'TextWritingProggie'
ORDER BY COALESCE(parent_id, id), parent_id IS NOT NULL, id
どんな助けでも素晴らしいでしょう