在yii中如何访问其他表字段

时间:2012-12-15 05:01:17

标签: yii

我在yii框架中创建项目。我有桌子 - Qbquestion QbquestionOption
-questionId -optionId -question -questionId -userId -option -isPublished -isAnswer

在QbquestionOption控制器中,我想访问Qbquestion表字段。我曾写过问题 -

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

其中$ number是一个随机数。 当我使用其字段为= $ Question-> isPublished时,其给出错误为“试图访问非对象的属性” 语句var_dump($ Question)显示Qbquestion表的所有记录和所有值。那么我怎样才能访问记录? 请帮帮我

3 个答案:

答案 0 :(得分:1)

findAllByAttributes返回一个对象数组。

如果您只想要一个问题,请改用findByAttributes,然后它应该可以正常工作。

答案 1 :(得分:1)

尝试因为我不知道你的关系。试试吧。如果它不起作用,我会发布其他答案。请问我在哪个表中显示的字段是?如果它在你提到的标题的其他表格中你需要将其更改为echo $ qRec-> OtherTableRelationArrayKey-> isPublished;

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

答案 2 :(得分:1)

$Question是一个模型数组,你无法在其上调用模型函数..

你能做的是:

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

或者您可以使用findByAttribute获得单个结果..