세 클래스가 있습니다. 코스는 스테이지로 구성됩니다. 단계는 단계로 구성됩니다. MongoDB를으로부터임베디드 문서 배열 YiiMongoDbSuite
{
"name" : "course1",
"online" : "0",
"author_id" : ObjectId("521df3f1e405688411000029"),
"approved" : false,
"stages" : [
{
"_id" : ObjectId("521dfd84e40568d80900002a"),
"name" : null,
"steps" : null,
"price" : null
},
{
"_id" : ObjectId("5220c648e40568701c000031"),
"name" : null,
"steps" : [
{
"_id" : ObjectId("5220c648e40568701c000032"),
"name" : null
}
],
"price" : null
}
],
"short_description" : "test",
"_id" : ObjectId("521dfd7ce40568d809000029")
}
제가 판독하려고 데이터 : MongoDB에있어서
class Course extends EMongoDocument{
....
public function behaviors()
{
return array(
'embeddedArrays' => array(
'class'=>'ext.YiiMongoDbSuite.extra.EEmbeddedArraysBehavior',
'arrayPropertyName'=>'stages',
'arrayDocClassName'=>'Stage'
),
);
}
}
class Stage extends EMongoEmbeddedDocument{
...
public function behaviors()
{
return array(
'embeddedArrays' => array(
'class'=>'ext.YiiMongoDbSuite.extra.EEmbeddedArraysBehavior',
'arrayPropertyName'=>'steps',
'arrayDocClassName'=>'Step'
),
);
}
class Step extends EMongoEmbeddedDocument{
...
}
나 데이터가 치명적인 오류 *의 비 객체의 멤버 함수 toArray()를 호출 * 라인 (104)
$arrayOfDocs[] = $doc->toArray();
에 추가 \ EEmbeddedArraysBehavior.php \ 확장 \ YiiMongoDbSuite 단계는 모두가 잘 작동 단계가없는 경우. 내가 뭘 잘못 했니?
아마도이 버그의 다른 버전을 시도해 보셨습니까? –