Я создаю массив для заказа, чтобы затем передать эти данные в полосу, массив имеет несколько предложений 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
Вставляйте записи в массив результатов из самого глубокого вложенного цикла, а также помещайте запись, когда самый глубо ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Yii1 – используйте массив в столбце GridView и помещайте значение в этот массив
Anonymous » » в форуме Php - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Копируйте и вставляйте индексированные слова, сохраняя уникальный индекс.
Anonymous » » в форуме Javascript - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-