我有以下数据来自db(我不控制它) - 它可能只有a_id和a_title,或者它可能有a_id / 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',
];
我通常会发布一些代码,但我有点不知道从哪里开始,我想知道我是否采取了错误的方法,但因为我无法控制数据库我是有点想法
谢谢!
答案 0 :(得分:0)
我使用不同的方法解决了这个问题 - 它需要每个层次结构的查询,但查询不是太重,使代码更简单