I try this code ( via Fractal ) to get the result:
public static function doIt($array, $transformer)
{
$manager = new Manager();
$serializer = new \League\Fractal\Serializer\ArraySerializer();
$manager->setSerializer($serializer);
if ($array instanceof Collection) {
$resource = new FractalCollection($array, new $transformer);
} else {
$resource = new FractalItem($array, new $transformer);
}
return $manager->createData( $resource )->toArray();
}
As you can see, I added
$serializer = new \League\Fractal\Serializer\ArraySerializer();
$manager->setSerializer($serializer);
remove the data attribute from the result array.
array:3 [▼
"key" => 1
"title" => "First Level Title"
"childrens" => array:1 [▼
"data" => array:16 [▼ ←-------- it need remove!
0 => array:2 [▼
"key" => 2
"title" => "Children Title"
]
1 => array:2 [▶]
2 => array:2 [▶]
3 => array:2 [▶]
]
]
]
Works well, but only for the first level of the array. How to do this to make it work for all nested arrays?
source
share