Je souhaite obtenir une collection de documents incorporés. Je mets des données dans la base de données comme ceci:Récupérer une collection vide de documents incorporés
$dm->getRepository('BundleUserBundle:User')->addRatedPostById($user->getId(), new RatedPost($id, $type));
... qui fonctionne bien. Maintenant, je vois de nouvelles données dans la console mongo, mais quand j'essaie d'obtenir ces données via la méthode getRatedPosts()
, il retourne null au lieu de l'ArrayCollection. Qu'est-ce qui ne va pas?
Contexte ressemble à ceci:
class User extends BaseUser {
/**
* @MongoDB\EmbedMany(targetDocument="RatedPost")
*/
protected $ratedPosts;
/**
* Add ratedPosts
*
* @param Bundle\UserBundle\Document\RatedPost $ratedPosts
*/
public function addRatedPost(\Bundle\UserBundle\Document\RatedPost $ratedPosts)
{
$this->ratedPosts[] = $ratedPosts;
}
/**
* Remove ratedPosts
*
* @param Bundle\UserBundle\Document\RatedPost $ratedPosts
*/
public function removeRatedPost(\Bundle\UserBundle\Document\RatedPost $ratedPosts)
{
$this->ratedPosts->removeElement($ratedPosts);
}
/**
* Get ratedPosts
*
* @return Doctrine\Common\Collections\Collection $ratedPosts
*/
public function getRatedPosts()
{
return $this->ratedPosts;
}
/**
* @MongoDB\EmbeddedDocument
*/
class RatedPost
{
/**
* @MongoDB\Int
*/
public $post;
/**
* @MongoDB\String
*/
public $rate;
...
}
Cela a fonctionné pour moi aussi et aurait pu sauver des heures d'essais et d'erreurs si je l'avais vu plus tôt. – nekaab
Merci! Je vous remercie! Je vous remercie! Cette réponse sauve ma journée. J'ai passé plus d'une heure à comprendre pourquoi ce f ** king array est resté vide ^^ Merci encore :) – ByScripts