J'ai trois classes. Le cours comprend les étapes. Les étapes comprend les étapes.Tableau de documents incorporés YiiMongoDbSuite
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{
...
}
En mongodb j'ai données:
{
"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")
}
Lorsque je tente de lire les données de MongoDB: Erreur fatale: Appel à une fonction de membre toArray() sur un non-objet dans * * extensions \ YiiMongoDbSuite \ supplémentaires \ EEmbeddedArraysBehavior.php sur la ligne 104
$arrayOfDocs[] = $doc->toArray();
Si scène ne sont pas tout fonctionne très bien. Ce que je fais mal?
C'est probablement bug, avez-vous essayé une autre version de ce comportement? –