private function cargarArrayPedidos($idComercio, $fechaDesde, $fechaHasta) { $respuesta = []; $queryRutaDiaria = RutaDiaria::find()->select('id')->where(['between', 'fecha', $fechaDesde, $fechaHasta]); $queryRutaDiariaCom = RutaDiariaComercio::find()->where(['ruta_diaria_comercio.id_comercio' => $idComercio])->andWhere(['in', 'id_ruta_diaria', $queryRutaDiaria]); if ($queryRutaDiariaCom->count() > 0) { $rutaDiariaComercios = $queryRutaDiariaCom->all(); $pedidos = []; $i = 0; foreach ($rutaDiariaComercios as $rutaDiariaComercio) { if (Pedido::find()->where(['id_ruta_diaria_com' => $rutaDiariaComercio->id])->count() > 0) { $pedidosRutaDiariaComercio = Pedido::find()->where(['id_ruta_diaria_com' => $rutaDiariaComercio->id])->all(); foreach ($pedidosRutaDiariaComercio as $pedido) { $pedidos[$i] = $pedido; $i++; } } } if (count($pedidos) > 0) { foreach ($pedidos as $pedido) { if (isset($respuesta[$pedido->id_producto])) { $respuesta[$pedido->id_producto]['cantidad'] = $respuesta[$pedido->id_producto]['cantidad'] + $pedido->cantidad; } else { $nombreProducto = Producto::Find()->select('nombre')->where(['id' => $pedido->id_producto])->one()->nombre; $respuesta[$pedido->id_producto] = ['nombre' => $nombreProducto, 'cantidad' => $pedido->cantidad]; } } } } return $respuesta; }