教义2,一对多从未填充过



我很难处理OneToMany关系,教义从不填充集合。

这是我的课程:

class User
{
    ...
    /**
     * @ORMOneToMany(targetEntity="AppBundleEntityPost", mappedBy="idUser", cascade={"all"})
     */
    private $posts;
    public function getPosts() {
       return $this->posts;
    }
    public function __construct() {
        $this->posts = new DoctrineCommonCollectionsArrayCollection();
    }
    ...
}

class Post {
    ...
    /**
     * @var AppBundleEntityUser
     *
     * @ORMManyToOne(targetEntity="AppBundleEntityUser" , inversedBy="posts" , cascade={"all"})
     * @ORMJoinColumns({
     *   @ORMJoinColumn(name="id_user", referencedColumnName="id")
     * })
     */
    private $idUser;
    ...
}

当我得到一个这样的用户对象时:

$user = $this->getDoctrine()
        ->getRepository('AppBundle:User')->find(1);

$user已填充,但$postsnull

另外,如果我这样做$user->getPosts()它会返回null

为什么$posts是空的? 它至少应该是一个array

我的数据库有一个链接到用户 1 的帖子

如果我对Post做同样的事情,帖子会自动填充关联用户

感谢您的帮助

在你的帖子类中,你有:

public function setUser($user){
    $user->addPost($this);
    $this->user= $user;
}

可能你需要这样的东西。

在此之后编辑 2。

同样在用户类中,它应该是这样的:

private $posts = null;
...
/*
 * Add posts to the array.
 */
public function addPost($post){
    $this->stu_posts [] = $post;
}

相关内容

  • 没有找到相关文章

最新更新