我在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表的所有记录和所有值。那么我怎样才能访问记录? 请帮帮我
答案 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
获得单个结果..