Recorrer modelos con un for each

Recorrer modelos con un for each


Algunas veces en necesario recorrer los modelos completos, es decir iterar los modelos de una consulta para realizar una cierta operación.


 //Metodo de clase
public static function getModelsReportesFiltros($entidad_id,$fechaInicial,$FechaFinal,$estado_id=0,$municipio_id=0) {
        $query = Reporte::find();        
        $query->joinWith(['cliente'])
              ->joinWith(['cliente.municipio'])
              ->where(['cliente.entidad_id' => $entidad_id]); //Siempre filtrar por entidad primero  
        
        if($estado_id>0){            
            $query->andWhere(['municipio.estado_id' => $estado_id ]);
        }  
        
        if($municipio_id>0){            
            $query->andWhere(['cliente.municipio_id' => $municipio_id ]);
        }
        $query->andWhere(['between', 'fecha_hora', $fechaInicial, $FechaFinal]); //Siempre hay un rando de fechas de búsqueda
 
         
        //$modelos = $query;

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
      
              
        return $dataProvider;
    }



 Para recorrer el arreglo de los modelos


//Mandas llamar al método pasandole nuestras variables
$modelsReportes = MapaRepo::getModelsReportesFiltros( $entidad_id, $fechaInicial, $FechaFinal, $estado_id, $municipio_id);
        
        var_dump($modelsReportes); //Podemos ver los objetos y los modelos
        
       //Podriamos jugar con los modelos y ver que tienen dentro, en mi caso un modelos puede tener arreglos anidados por lo a partir de alli puedes usarlos

        foreach ($modelsReportes->models as $model) {

            echo "<br>Modelo:" . $model->id  . " Calificacion:" . $model->reporteDetalles;

                //echo "addMarker({$model->latitud}, {$model->longitud});";

        }


Actualizado: 29-Nov-2022 





Comentarios

Aprende Yii2


Lo más Visto

Habilitar y deshabilitar el debug en Yii

Cómo instalar temas de diseño gráfico

Prueba unitarias de calidad

Forzar descarga de archivos del servidor

hostinger

ventana bienvenida