Yii关系定义中条件的正确语法

时间:2012-11-03 16:46:54

标签: web-applications yii relation

我正在努力为我想要设置的关系条件获取正确的语法。主关系是使用外键question_id设置的,但子表中还包含user_id列。

我希望只返回与登录用户相关的记录。这是我到目前为止所得到的 -

  class SurveyQuestion extends CActiveRecord {
 .......

   public function relations()
    {
        return array(           
            'answered_questions' => array(self::HAS_MANY, 'AnsweredQuestion', 'question_id',
                'condition'=>"answered_questions.user_id = Yii::app()->user->id'"),
        );
   }

请有人纠正我迄今为止无效的语法吗?我没有和Yii一起工作很长时间,所以如果我的“条件”条款完全没错,我也不会感到惊讶。

非常感谢,

尼克

1 个答案:

答案 0 :(得分:1)

answered_questions.user_id = Yii::app()->user->id'将检查answers_questions.user_id是否等于字符串'Yii :: .....'不是实际的用户ID。您需要结束引用并将其作为PHP命令附加:

'condition'=>"answered_questions.user_id = ".Yii::app()->user->id),

除非你的问题只是一个拼写错误?