我有以下以下数据来自db(我不控制此) - 它可能只有a_id and a_title,否则它可以在z_id/z_title
如果可以:
|a_id| a_title |b_id| b_title |c_id| c_title |
| 1|A Title 1| 1|B Title 1| 1|C Title 1|
| 1|A Title 1| 1|B Title 1| 2|C Title 2|
| 1|A Title 1| 2|B Title 2| 3|C Title 3|
| 1|A Title 1| 2|B Title 2| 4|C Title 4|
| 2|A Title 2| 3|B Title 3| 5|C Title 5|
| 2|A Title 2| 3|B Title 3| 6|C Title 6|
| 2|A Title 2| 4|B Title 4| 7|C Title 7|
| 2|A Title 2| 4|B Title 4| 8|C Title 8|
或
|a_id| a_title |b_id| b_title |
| 1|A Title 1| 1|B Title 1|
| 1|A Title 1| 2|B Title 2|
| 2|A Title 2| 3|B Title 3|
| 2|A Title 2| 4|B Title 4|
我想最终想到的是
$data = [
'1' => [
'id' => 1,
'title' => 'A Title 1',
'children' => [
'1' => [
'id' => 1,
'title' => 'B Title 1',
'children' => [
'1' => [
'id' => 1,
'title' => 'C Title 1',
],
'2' => [
'id' => 2,
'title' => 'C Title 2',
],
]
],
'2' => [
'id' => 1,
'title' => 'B Title 2',
'children' => [
'3' => [
'id' => 3,
'title' => 'C Title 3',
],
'4' => [
'id' => 4,
'title' => 'C Title 4',
],
]
],
],
],
];
我确实知道我期望哪些字段,例如我有以下数组:
$fields = [
'a',
'b',
'c',
];
我通常会发布一些代码,但是我有点坚持从哪里开始,并且想知道我是否采取了错误的方法,尽管我无法控制DB一种想法
谢谢!
i使用其他方法解决了这一点 - 它需要每个层次结构查询,但是查询并不是太重,并且使代码更简单