2012-12-15 6 views
0

저는 yii 프레임 워크에서 프로젝트를 만들고 있습니다. 난 내가 Qbquestion 테이블 필드에 액세스 할 QbquestionOption 컨트롤러에서 Qbquestion QbquestionOption
-questionId -optionId -question -questionId -userid - 옵션 -isPublished -isAnsweryii에서 다른 테이블 필드에 액세스하는 방법

된 직후 테이블을 데. 나는 quesry를 다음과 같이 썼다.

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

여기서 $ number는 임의의 숫자이다. 필드를 $ Question-> isPublished로 사용할 때 "non-object 속성에 대한 액세스를 시도하는 중"이라는 오류가 나타납니다. Statement var_dump ($ Question)은 Qbquestion 테이블의 모든 레코드와 모든 값을 표시합니다. 그렇다면 어떻게 레코드에 액세스 할 수 있습니까? 도와주세요

답변

1

$Question은 당신이에 모델 함수를 호출 할 수 없습니다 모델의 배열입니다 ..

은 당신이 할 수있는 것은

+0

Thanx Sir ... foreach 루프로 가져 가면 작동합니다. – user1636115

1

findAllByAttributes는 개체의 배열을 반환합니다.

질문이 하나 뿐인 경우 findByAttributes을 사용하면 원하는대로 작동합니다.

1

시도해보십시오. 귀하의 관계는 모두 알지 못합니다. 그냥 시도해보십시오. 나는 그것이 작동하지 않으면 다른 답변을 게시 할 것입니다. 또한 테이블이 게시 필드는 무엇입니까? 언급 된 다른 테이블에서 echo $ qRec-> OtherTableRelationArrayKey-> isPublished로 변경해야 할 경우;

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

하거나 하나의 결과를 얻을 수 findByAttribute을 사용할 수 있습니다 .. :

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