tengo una consulta sobre el metodo find de un AR
en el controlador tengo
$persona=Personas::model()->findbyPk($profesional->per_idPersona);
lo cual me trae el registro de una persona y "en teoria" ningun dato de sus relaciones
pero en la vista puedo hacer uso de los datos de las relaciones (en el ejemplo pais de nacimiento)
<?php echo CHtml::encode($persona->pais->descripcion); ?>
la pregunta
estoy haciendo algo mal?
para que usar ??
$persona=Personas::model()->with(‘pais’)->findbyPk($profesional->per_idPersona);
el trace
[EDIT]
Gracias PoL
cyberpol
(Cyberpol 777)
2
Eso se llama ‘Lazy Loading’. Es decir el objeto no se crea hasta que lo accedes por primera vez.
En cambio ‘Eager Loading’ (el que haces con with() ), lo cual crea el objeto ANTES de que lo accedas.
cyberpol
(Cyberpol 777)
3
Esta explicado en la guia definitiva igual. Fijate que la traduccion en español para Active Record y Relational Active Record estan hechas (por mi;))
moisty70
(Moisesalonso)
4
¿Solo usando algo asi en la vista me tendría que salir la descripción del pais o necesito algo más?
<?php echo CHtml::encode($persona->pais->descripcion); ?>
si, al menos a mi me a funcionado