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

Como crear formulario HTML de carga de archivo sin Active Record

Como personalizar pagina de error 404

Como enviar un correo si se produce un error en el sistema

Como agregar select2 como filtro de un gridview utilizando Ajax para la búsqueda de elementos

Como crear un log por categoría

hostinger

ventana bienvenida