Hola,
Según el manual se puede hacer la siguiente relación con las siguientes tablas:
tabla user (id, username, password, email) -> id es la primary key
tabla profile (user_id, birthday, website) -> user_id es la primary key y además foreign key de la tabla user (id)
tabla address (profile_id, country, city, street) -> profile_id es la primary key y foreign key de la tabla profile (user_id)
Según esto las relations en el model User son:
class User extends CActiveRecord {
...
public function relations() {
return array(
’profile’=>array(self::HAS ONE,’Profile’,’user id’),
’address’=>array(self::HAS ONE,’Address’,array(’id’=>’profile id’),’through’=>’profile’),
);
}
}
Yo quisiera saber, cómo serían las relations según el siguiente caso… quiero tener la relación country en el model user:
tabla user (id, username, password, email) -> id es la primary key
tabla profile (user_id, birthday, website, country_id) -> user_id es la primary key y además foreign key de la tabla user (id)
tabla country (id, country_name) -> id es la primary key
class User extends CActiveRecord {
...
public function relations() {
return array(
’profile’=>array(self::HAS ONE,’Profile’,’user id’),
’country’=> ?,
);
}
}
Gracias y saludos