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

Guía rápida para uso de widget kartik para select para formulario

Cómo incluir una vista dentro de un modal

Google Plus desaparecerá el 4 de Abril de 2019

Crear fomulario HTML con checkbox sin Active Record

hostinger

ventana bienvenida