Doctrine2与不存在的实体的多对一关联

时间:2014-07-14 16:13:12

标签: symfony doctrine-orm

我的数据库中有类似wiki的文章。他们给了id(和NO生成)。文章可以链接到另一篇文章。可以链接到(尚未)不存在的文章。

我没有在这个项目中使用过任何一个orm。 (从我学习编码的时候开始......)没有问题。我刚刚使用join执行了select,当没有目标文章时,这就像是否存在null一样。

然后我转到Doctrine2(和Symfony2)。我该怎么办?

到目前为止,我并没有使用多对一的学说,而是手工完成。

文章:

class Article
{
    //...

    /**
     * @ORM\OneToMany(targetEntity="Link", mappedBy="article")
     */
    private $links;
}

链接:

class Link
{
    //...

    /**
     * @ORM\ManyToOne(targetEntity="Article", inversedBy="links")
     */
    private $article;

    /**
     * @ORM\Column(type="integer")
     */
    private $targetArticleId;
}

获取目标文章是这样的:

//...
$link; //some Link object
$targetArticle = $em->getRepository('Article')->find($link->getTargetArticleId());
if ($targetArticle) {
    //target article exists
} else {
    //target article don't exist
}
//...

问题:我可以使用Doctrine2关联做同样的事情吗?也许我需要改变数据库中的东西?

0 个答案:

没有答案