У меня есть эти выходные данные из базы данных:
Array
(
[0] => stdClass Object
(
[name] => attr one
[attribute_id] => 1
[attribute_group] => group one
[attribute_group_id] => 1
)
[1] => stdClass Object
(
[name] => attr two
[attribute_id] => 2
[attribute_group] => group one
[attribute_group_id] => 1
)
[2] => stdClass Object
(
[name] => attr three
[attribute_id] => 3
[attribute_group] => group one
[attribute_group_id] => 1
)
[3] => stdClass Object
(
[name] => attr four
[attribute_id] => 4
[attribute_group] => group two
[attribute_group_id] => 2
)
)
теперь для json выход:
foreach ($results as $result) {
$json[] = array(
'id' => $result->attribute_group_id,
'text' => $result->attribute_group,
'children' => [array(
'id' => $result->attribute_id,
'text' => $result->name,
)]
);
}
return json_encode($json);
вывод:
[
{
"id":"1",
"text":"group one",
"children":[
{
"id":"1",
"text":"attr one"
}
]
},
{
"id":"1",
"text":"group one",
"children":[
{
"id":"2",
"text":"attr two"
}
]
},
{
"id":"1",
"text":"group one",
"children":[
{
"id":"3",
"text":"attr three"
}
]
},
{
"id":"2",
"text":"group two",
"children":[
{
"id":"4",
"text":"attr four"
}
]
}
]
Но в Действие Мне нужно вывести данные, сгруппированные по attribute_group
и перечисленные в children
следующим образом:
[
{
"id":"1",
"text":"group one",
"children":[
{
"id":"1",
"text":"attr one"
},
"id":"2",
"text":"attr two"
},
{
"id":"3",
"text":"attr three"
}
]
},
{
"id":"2",
"text":"group two",
"children":[
{
"id":"4",
"text":"attr four"
}
]
}
]
как мне создать этот вывод json?!