Hola necesito saber como puedo mostrar en una vista los datos de distintas tablas de mi base de datos.Por ejemplo tengo dos tablas una tabla es la de Usuarios y la otra es de Comentarios,el caso es que necesito mostrar en los comoentarios por ejemplo la foto del que hizo el comentario.La relacion de usuarios con comentarios es de uno a muchos.Gracias de ante mano.
Deberías explicarlo un poco más detalladamente y copiando código de los models… ¿Tienes creado el relation en los modelos? Si es así, tienes bastante trabajo hecho.
Deberías intentar algo así (a bote pronto, no lo he probado):
En el modelo de Usuarios:
public function relations()
{
return array(
'comentarios_'=>array(self::HAS_MANY, 'Comentarios', 'user_id'),
);
}
En el model Comentarios:
public function relations()
{
return array(
'usuario_'=>array(self::BELONGS_TO, 'Usuarios', 'user_id'),
);
}
Para mostrar la imagen en un _view de Comentarios:
en el detailview del view.php me funciona bien donde me de error es en el _view.php y lo que me sucede es que a la hora de mostrar en el _view de comentarios me dice que la variable $model es indefinida y cuando intento mostralo con $data tambien me dá error.Gracias otra vez.
ya el código de las relaciones lo puse arriba,y así es como intento mostrar el nombre del usuario y la foto del que realizó el comentario.Esto es solo lo que he intentado modificar por ahora del código que te genera yii.Gracias si necesitas otras partes del código dimelo y te las muestro.
Supongo que el resto de informacion esta funcionando, p.ej. $data->lo-que-sea, que el view es de Comentarios, y que la columna nombre y fotos, existe en la tabla usuarios…
Si todo es correcto, falta que nos digas que error te esta dando.
Hola gracias otra vez,los campos nombre y foto si existen en la tabla de usuario y este es el error que me está enviado con el $data:Trying to get property of non-object.Será que la relación de comentarios con usuario no estará bien?Revisaré de nuevo ahi a ver.
Ya ví cual era el error, el problema estaba en la relación que estaba declarando en el modelo de comentario.En vez de usuario_idusuario era con idcomentario.Disculpen no me dira cuenta de esto antes.Gracias por su ayuda que sirvió de mucho.