两个表的model继承自CActiveRecord
class User extends CActiveRecord class Post extends CActiveRecord
很明显,User和Post是一对多的关系
在两个Model中覆盖relations方法
//class Post public function relations() { return array( ‘author‘=>array(self::BELONGS_TO, ‘User‘, ‘id‘) ); } // 格式为 // ‘relationsName‘ => array("relationship", "关联表", "该表的外键") // relationName 可以随意 // relationship 为 // self::BELONGS_TO // self::HAS_MANY // self::HAS_ONE // self::MANY_MANY 四个常量
在postController中可以按照默认的,使用CActiveDataProvider获得$dataProvider,此时User表的数据已经默认关联上。
在输出的时候可以使用 User.name 来输出和此post关联的用户名