2012-12-15 22 views
0

我在yii框架中創建項目。我有表原樣 Qbquestion QbquestionOption
-questionId -optionId -question -questionId -userid -option -isPublished -isAnswer在yii如何訪問其他表字段

在QbquestionOption控制器我想訪問Qbquestion表的字段。我寫了quesry as-

$Question=Qbquestion::model()->findAllByAttributes(array("questionId"=>$number)); 

其中$ number是一些隨機數。 當我使用它的字段爲= $ Question-> isPublished時,它的錯誤提示爲「嘗試訪問非對象的屬性」 語句var_dump($ Question)顯示Qbquestion表的所有記錄和所有值。那麼我如何訪問記錄? 請幫我

回答

1

$Question是模型,你不能調用該函數模型數組..

你可以做的是:

$questions = Qbquestion::model()->findAllByAttributes(array("questionId"=>$number)); 
foreach($questions as $question) 
    $question->isPublished() 

,或者您可以使用findByAttribute得到單一的結果..

+0

Thanx先生...如果我們把它在foreach循環,它的工作原理。 – user1636115

1

findAllByAttributes返回一個對象數組。

如果您只是想要一個問題,請使用findByAttributes來代替,那麼它應該按照您的要求工作。

1

嘗試因爲我不知道你們所有的關係。只要試一試。如果它不起作用,我會發布其他答案。另請打電話給我,哪個表是發佈的字段?如果它在其他表中作爲標題提到,則需要將其更改爲echo $ qRec-> OtherTableRelationArrayKey-> isPublished;

foreach($Question AS $qRec) 
{ 
     echo $qRec->isPublished; 
     echo "<br />"; 
}