как собрать преобразованный массив в коллекцию - PullRequest
0 голосов
/ 08 ноября 2019

Я преобразовал этот массив в коллекцию

array:1 [
"params" => array:3 [
"total_amount" => "2.37"
"user_id" => 3
"used_currency" => "YER"
]
]
$items = collect(request()->all());

Как я могу получить значение total_amount при преобразовании его в коллекцию.

dd($items->get('params.total_amount'));

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Просто получите доступ к ключу массива в коллекции

dd($items->get('params')['total_amount']);

Надеюсь, это поможет

0 голосов
/ 08 ноября 2019

Вы преобразовали только внешний массив в коллекцию, а не во внутренний массив.

Чтобы преобразовать весь массив в коллекцию, используйте json_decode после json_encode.

$abc =  [
    "params" => [
        "total_amount" => "2.37",
        "user_id" => 3,
        "used_currency" => "YER"
    ]
];
$collect = collect(json_decode(json_encode($abc)));

return dd($collect->pluck('total_amount'));

Таким образом, вы можете использовать все методы сбора, такие как сумма всех 'total_amount', если ваши данныекак показано ниже

$abc =  [
    "params1" => [
        "total_amount" => "2.37",
        "user_id" => 3,
        "used_currency" => "YER"
    ],
    "params2" => [
        "total_amount" => "2.37",
        "user_id" => 3,
        "used_currency" => "YER"
    ],
];
$collect = collect(json_decode(json_encode($abc)));
return dd($collect->pluck('total_amount')->sum());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...