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

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Cómo evitar el reenvío de formulario

Como instalar Yii en Windows usando App Serv

hostinger

ventana bienvenida