我正在尝试为一个模型创建一个STAT关系,该模型总结了列的内容,前提是另一列与我的条件语句匹配。在我的特定情况下,我需要得到用户上传的图片的所有文件大小的总和。
代码:
class User extends CActiveRecord {
public function relations() {
return array(
'pictureSpaceUsed'=>array(self::STAT, 'Picture', 'user_id', 'select' => 'SUM(size)','condition' => 'user_id=' . $this->id),
),
}
}
问题是Yii抱怨说它无法访问模型的id。 $this->id
似乎没有在关系函数内部工作......但如果我用一个数字替换$this->id
,它会起作用,但这不再是动态的。
有人知道这里发生了什么吗?
答案 0 :(得分:0)
为什么要插入这个条件?当你说:
时,你似乎已经陈述了这个条件class User extends CActiveRecord {
public function relations() {
return array(
'pictureSpaceUsed'=>array(self::STAT, 'Picture', 'user_id', 'select' => 'SUM(size)'),
),
}
}
它将找到基于user_id的关系