Una Duda Con El Cgridview

Estimados amigos de Yii, mi consulta es la siguiente:

Tengo un CGridView, donde quiero mostrar datos filtrados de forma que:

1.- me muestre solo los datos que a creado el usuario que esta logueado en ese momento, osea que el vea solo los datos que el a ingresado en las tablas.

2.- Mostrar los datos de en donde mis tablas de una tabla referenciada y de otra q no esta referenciada me explico

tengo 3 tablas ficha_visitas, usuario, reservas. Quiero mostrar en las reservas la el nombre de la ficha de visita y el usuario que la creo, pero reservas esta relacionada solo con ficha_visitas, y ficha_visitas relacionada con usuario y reservas. se entendio?

espero me ayuden creo q no es muy dificil. saludos y gracias.

Tengo el mismo problema, ojalá alguien pudiera echar una mano porfavor

Para q os filtre sólo los datos creados por el usuario logueado, tenéis que modificar la función que llamáis en el data provider del grid. Por ejemplo si fuese $nombreModelo->search(), pues en vuestro search pondríais algo como esto (supongo que las tablas tendrán un usuario_id, sino no sé como vais a saber de quién es cada dato… :)):




$criteria->compare('usuario_id', Yii::app()->user->ID); // ID o como sellame vuestra propiedad en CWebUser.



La segunda parte no la entendí pq sí tenéis todas las tablas relacionadas, entonces sólo tenéis q acceder a las relaciones y listo. Algo así como :




 $a = $model->nombreRelacion->nombreCampo;



Un saludo.