Relacion de la relación

Hola espero puedan orientarme en este problema que tengo…

estoy realizando una base de datos donde un usuario tiene varias compras he creado la relación en la tabla usuario

con has many y funciona bien

utilizando un foreach a $model->compras (compras es como lo definí a mi relación has many)

mi problema consiste ahora en que esa compra tiene otras relaciones manny to manny y otras one to many que también deseo ver.

como se ejecutaría la orden? eh intentado de varias formas pero todas son incorrectas y no se si es porque tengo mal creadas las

relaciones o porque no se puede ejecutar desde una relación otra relación.

Espero puedan ayudarme Gracias.

Hola! ¿Podría publicar el código aquí para que podemos entender mejor lo que es el error que ves?

Espero que sea lo que entendi…

Si tu modelo por ej… se llama Usuario y este tiene relacion con Compras y compras a su vez tiene relacion con Categoria … una forma de hacerlo seria la siguiente:


// esta es una relacion de Usuario con Compras (normal)

Usuario::model()->with('Compras')->findAll();


// esta es una relacion de Usuario con Compras y Gastos .. ambas relaciones fueron definidas en el modelo de Usuario (lo que entendi que tienes)

Usuario::model()->with('Compras','Gastos')->findAll();


// esta es una relacion de Usuario con Compras y de Compras con Categoria (lo que necesitas)

Usuario::model()->with('Compras.Categoria')->findAll();

Saludos