Коллекция Laravel: Как получить доступ к объекту объекта? - PullRequest
0 голосов
/ 23 октября 2018

Это мой запрос:

$productItems = ProductItemResource::collection(ProductItem::where('pd_id', $id)->get());

Результат запроса такой:

$output = [[
            'id' => 1,
            'serial' => "XXXXXXAA1",
            'pd_item_info' =>[
                'id' => 1,
                'quantity' => 5,
                'product_info' => [
                    'id' => 1,
                    'product_name' => 'Keyboard'
                ],
            ]
    ],[
        'id' => 2,
        'serial' => "XXXXXXAA2",
        'pd_item_info' =>[
            'id' => 2,
            'quantity' => 10,
            'product_info' => [
                'id' => 2,
                'product_name' => 'Monitor'
            ],
        ]
    ]];

Это мое условие:

    foreach ($output as $productItem) {
            return $productItem->pd_item_info->product_info['product_name'];
// IT HAS AN ERROR WHERE I CAN'T ACCESS THE OBJECT OF OBJECT

        }

Почему я 'получаю ошибку при доступе к объекту объекта, когда я использую ресурс?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Почему вы создаете новую коллекцию?

$productItems = ProductItemResource::collection(ProductItem::where('pd_id', $id)->get());

Результатом запроса уже является коллекция

ProductItem::where('pd_id', $id)->get()
0 голосов
/ 23 октября 2018

что результат является массивом, а не объектом.

foreach($output as productItem) {
    return $productItem['pd_item_info']['product_info']['product_name'];
}
...