假设我们有三个表,帖子、用户和图像。其中post与users表有关系,images与user表有关系,即post属于用户,image属于用户。
Post {
post_id
user_id
}
Users {
user_id
}
Images {
image_id
user_id
}
现在在 Yii 中,可以在模型中定义关系。我的关系是这样设置的:
<?php
class Users extends CModel {
public function relations() {
'images' => array(self::HAS_ONE, 'Images', 'user_id')
'posts' => array(self::HAS_MANY, 'Posts', 'user_id')
}
}
class Images extends CModel {
public function relations() {
'user' => array(self::HAS_ONE, 'Users', 'user_id')
}
}
class Posts extends CModel {
public function relations() {
'user' => array(self::HAS_ONE, 'Users', 'user_id')
}
}
现在在 Yii 中,使用 DBCriteria 我可以使用带有 'with' 函数的 CDbCriteria 来查询这个。我的问题是如何查询 Post 模型,并使用 Users 模型中的关系来获取用户图像?
例子:
CActiveDataProvider('Posts', array(
'criteria'=>array(
'with' => array('users', 'Users.images'),
),
'pagination'=>array(
'pageSize'=>20,
),
));
在 Yii 中有没有办法做到这一点?