Как получить коллекции внутри массива в Laravel или PHP

#php #arrays #laravel #collections

#php #массивы #laravel #Коллекции

Вопрос:

Я передаю приведенные ниже данные через API в postman.

Я хочу получить доступ к этим значениям из коллекции внутри массива для элементов.

 {
    "user":"abc",
    "supplier":"xyz",
    "pdate":"1",
    "items":[
        {
            "product":"Apple",
            "qty":"1",
            "rate":"40",
            "amount":"40"
        },
        {
            "product":"Banana",
            "qty":"6",
            "rate":"4",
            "amount":"24"
        }
    ]
}
  

Комментарии:

1. попробуйте функцию toArray()

Ответ №1:

Вы имеете в виду, что хотите преобразовать элементы в коллекцию? Если это так, вы можете сделать:

 $data = json_decode('{ "user":"abc", "supplier":"xyz", "pdate":"1", "items":[ { "product":"Apple", "qty":"1", "rate":"40", "amount":"40" }, { "product":"Banana", "qty":"6", "rate":"4", "amount":"24" } ] }', true, 512, JSON_THROW_ON_ERROR);

$items = collect($data['items']);
dd($items);
  

Это приведет к:

 IlluminateSupportCollection {#1545
  #items: array:2 [
    0 =&&t; array:4 [
      "product" =&&t; "Apple"
      "qty" =&&t; "1"
      "rate" =&&t; "40"
      "amount" =&&t; "40"
    ]
    1 =&&t; array:4 [
      "product" =&&t; "Banana"
      "qty" =&&t; "6"
      "rate" =&&t; "4"
      "amount" =&&t; "24"
    ]
  ]
}
  

Пожалуйста, обратите внимание, я только что добавил и json_decoded данные, для примера, но просто сделайте это в вашем контроллере, куда передаются данные.