Вставляйте записи в массив результатов из самого глубокого вложенного цикла, а также помещайте запись, когда самый глубоPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вставляйте записи в массив результатов из самого глубокого вложенного цикла, а также помещайте запись, когда самый глубо

Сообщение Anonymous »

Я создаю массив для заказа, чтобы затем передать эти данные в полосу, массив имеет несколько предложений forEach.
Проблема, с которой я сталкиваюсь, заключается в том, что если элемент(ы) заказа ) не имеет меню_options, он не включен в массив.
Что я делаю неправильно, чтобы гарантировать, что каждый $orderItem находится в массиве, независимо от того, есть ли у него $itemOption / Menu_options.
private function convertCartToOrderLines($order)
{
$lines = [];
foreach ($order->getOrderMenusWithOptions() as $orderItem) {
foreach ($orderItem->menu_options as $itemOptionGroup ) {
$itemOptionGroup = $orderItem->menu_options->groupBy('order_option_category');
foreach ($itemOptionGroup as $itemOptionGroupName => $itemOptions) {
foreach ($itemOptions as $itemOption) {
$test1 = "Qty: x".$orderItem->quantity." | ".$itemOption->order_option_name;
array_push($lines, [
'price_data' => [
'currency' => currency()->getUserCurrency(),
'unit_amount_decimal' => number_format($orderItem->subtotal, 2, '.', '') * 100,
'product_data' => [
'name' => $orderItem->name,
'description' => $test1,
],
],
'quantity' => 1,
]);
}
}
}
}

return $lines;
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... sh-an-entr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»