获取嵌入文档的空集合



我想要一个嵌入文档的集合。我将数据放入数据库,如下所示:

$dm->getRepository('BundleUserBundle:User')->addRatedPostById($user->getId(), new RatedPost($id, $type));

这很好用。现在我在mongo控制台中看到了新数据,但当我试图通过getRatedPosts()方法获取这些数据时,它会返回null,而不是ArrayCollection。怎么了?

上下文如下:

class User extends BaseUser {
    /**
     * @MongoDBEmbedMany(targetDocument="RatedPost")
     */
    protected $ratedPosts;
   /**
    * Add ratedPosts
    *
    * @param BundleUserBundleDocumentRatedPost $ratedPosts
    */
    public function addRatedPost(BundleUserBundleDocumentRatedPost $ratedPosts)
    {
        $this->ratedPosts[] = $ratedPosts;
    }
   /**
    * Remove ratedPosts
    *
    * @param BundleUserBundleDocumentRatedPost $ratedPosts
    */
    public function removeRatedPost(BundleUserBundleDocumentRatedPost $ratedPosts)
    {
        $this->ratedPosts->removeElement($ratedPosts);
    }
   /**
   * Get ratedPosts
   *
   * @return DoctrineCommonCollectionsCollection $ratedPosts
   */
   public function getRatedPosts()
   {
       return $this->ratedPosts;
   }
/**
 * @MongoDBEmbeddedDocument
 */
class RatedPost
{
    /**
     * @MongoDBInt
     */
    public $post;
   /**
    * @MongoDBString
    */
    public $rate;
   ...
}

我遇到了完全相同的问题:保存没有问题,但获取嵌入文档有问题。结果发现这是一个"Symfony"缓存问题(也在app_dev.php上)。你试过删除你的缓存吗,这对我很有效!

相关内容

  • 没有找到相关文章

最新更新