2012-11-03 31 views
0

我努力爲我想設置的關係條件獲取正確的語法。主關係用外鍵question_id設置,但也包含在子表中的是user_id列。Yii關係定義中條件的正確語法

我希望僅返回與登錄用戶相關的記錄。這是我到目前爲止 -

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一起工作很長時間,所以如果我的'條件'條款全部錯誤,我不會感到驚訝。

非常感謝,

尼克

+0

不知道這是否是唯一的問題,但''answers_questions.user_id = Yii :: app() - > user-> id'「'在最後有一個非法報價 – Stu

回答

1

answered_questions.user_id = Yii::app()->user->id'將檢查answered_questions.user_id等於字符串 '的Yii :: .....' 而不是實際的用戶ID。您需要結束報價,並追加它作爲一個PHP命令:

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

除非這只是你的問題中一個錯字?

+0

謝謝,這不是一個錯字這回答了我的問題。它被拋出了其他的東西,但我會在另一個問題上發佈。乾杯! – goose

+0

下面是關於問題的後續處理,請關注你感興趣的內容 - http://stackoverflow.com/questions/13212084/yii-query-returning-no-results – goose