Función equivalente en Yii2

Hola a todos en el foro.

Soy nuevo en Yii2 y estoy tratando de obtener registros de una tabla.

Dado que no se mucho de yii estoy buscando una función en este que sea equivalente al mysqli_fetch_array() para jalar información(Y por ende mostrarlos con echo o <?= ?>

Alguna sugerencia en que puedo utilizar?

Y otra cosa, como puedo apuntar un radiolist hacia otro modelo(es decir que envié la información a otro modelo)?

Te recomendamos eches un vistazo a los widgets Gridview y a la herramienta Gii. Yii2 es una herramienta diseñada para gestionar registros activos, por lo que no necesitarás nunca utilizar una función del tipo mysqli_fetch_array.

Si estás empezando con Yii2 te recomendamos descargues la app "Basic"

En Yii, el proceso se lleva a cabo usando los métodos (o funciones, y espero no armar un debate en esto) del ActiveRecord… en términos prácticos:




// Todos los registros

$registros = ClaseModelo::find()->all();

// Con alguna condición

$registros = ClaseModelo::find()->andWhere(['campo' => 'valorX'])->all();

// SI quiere retornar sólo un registro

$registro = ClaseModelo::find()->andWhere(['campo' => 'valorX'])->one();



Existen otros métodos o funciones que simplifican esas definiciones (como findAll y findOne entre otros), pero personalmente recomiendo usar la versión "larga" pues a veces se puede ser propenso a errores.

Saludos.

Olvidé mencionar que el comando "all" devuelve un array de objetos (instancias del modelo), por lo cual, no se devuelven como arrays (o arreglos) sino como objetos.

Si desea que se devuelvan como arreglos (arrays) debe agregar un método al comando.

Ejemplo:




$registros = ClaseModelo::find()->andWhere(['campoX' => 'valorX'])->asArray()->all();



El anterior, obviamente no tiene sentido cuando va acompañado de "one".

Saludos.

1 Like

http://www.blonder413.com/curso/yiiframework-2

Buenas.

Está muy bien todo lo que te contestaron, pero te recomiendo encarecidamente que te leas el manual de Yii2.

Es básico para poder hacer un trabajo dinámico, sinó vas a tener dudas continuamente.

Un saludo.