Consulta Desde Una Vista A Otro Modelo

Hola,

Quisiera hacer una consulta desde la vista alumnos/update.php que me imprima todos los comentarios del modelo Comentarios.php cuyo IdUsuario=1

He hecho muchas pruebas y la única que me saca algo pero no lo que yo quiero es esta con SQl aunque preferiría no tener que usar SQL

Saludos.




<pre>

<?php

    print_r( Alumnos::model()->findAllBySql("SELECT * FROM  `comentarios",array('Comentario',"Id"))  );

?>

</pre>


Me imprime esto 

Array

(

    [0] => Alumnos Object

        (

            [_new:CActiveRecord:private] => 

            [_attributes:CActiveRecord:private] => Array

                (

                    [Id] => 1

                )


            [_related:CActiveRecord:private] => Array

                (

                )


            [_c:CActiveRecord:private] => 

            [_pk:CActiveRecord:private] => 1

            [_alias:CActiveRecord:private] => t

            [_errors:CModel:private] => Array

                (

                )


            [_validators:CModel:private] => 

            [_scenario:CModel:private] => update

            [_e:CComponent:private] => 

            [_m:CComponent:private] => 

        )


)



Si Alumnos está relacionado a Comentarios a través de una relación HAS_MANY, es cuestión de que en controlador de Alumnos en la acción (método) actionUpdate incluyas el modelo de los comentarios y lo pases a la vista:




public function actionUpdate($id)

{

	$model = $this->loadModel($id);

        $modelComentarios = Comentarios::model()->findAllByAttributes(array('alumno_id'=>$model->id));

        ...

        $this->render('update',array(

			'model'=>$model,

			'modelComentarios'=>$modelComentarios,

        ...



Entonces en la vista puedes acceder $modelComentarios y hacer lo que desees. Recuerda pasar $modelComentarios de update.php a _form.php para que funcione.

+1

OK gracias.

Solucionado.