Json массив для массива
У меня есть массив JSON из Laravel, как это:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => Array
(
[_id] => MongoDB\BSON\ObjectID Object
(
[oid] => 5a15e52b5bd98b7a0040fac8
)
[UnitPrice] => 18
[UnitsInStock] => 39
)
[1] => Array
(
[_id] => MongoDB\BSON\ObjectID Object
(
[oid] => 5a15e52b5bd98b7a0040fac9
)
[UnitPrice] => 19
[UnitsInStock] => 17
)
[2] => Array
(
[_id] => MongoDB\BSON\ObjectID Object
(
[oid] => 5a15e52b5bd98b7a0040faca
)
[UnitPrice] => 10
[UnitsInStock] => 13
)
)
)
Как я могу взять только UnitPrice
и UnitsInStock
как массив? Есть ли способ без использования петли?
Я хочу использовать это так:
...
->dataset('UnitPrice', [5,20,100,...]) // array's values = [5,20,100,...]
->dataset('UnitsInStock', [52,120,100,...]) // array's values = [52,120,100,...]
1 ответ
Решение
В Laravel есть метод list для получения массива для данного столбца. В противном случае вы можете использовать метод array_column в PHP.
$unitPrices = array_column($items, 'UnitPrice');