首页 > 代码库 > yii关系数据库多表查询

yii关系数据库多表查询

两个表的model继承自CActiveRecord

class  User extends CActiveRecordclass  Post extends CActiveRecord

很明显,User和Post是一对多的关系

在两个Model中覆盖relations方法

//class Postpublic 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关联的用户名