Symfony& Doctrine2:`mappedBy`注释的值?

时间:2016-05-01 11:43:26

标签: php doctrine-orm symfony

我正在学习Sytrfony 3和Doctrine 2.

当我在Doctrine实体中有OneToMany个关系时,我必须将{strong>完全放入mappedBy注释?

  • 是当前实体的表名吗?
  • 或者是实体快捷方式
  • 或者它是实际的班级名称?

想象一下这个简单的例子:

<?php
namespace AppBundle\Entity;

/**
 * @ORM\Entity
 * @ORM\Table(name="blog_category")
 */
class Category
{
    // ...

    /**
     * @ORM\OneToMany(targetEntity="Article", mappedBy="category")
     */
    private $articles;

    // ...

}

为什么&#34;类别&#34; 正确值mappedBy?为什么&#34; blog_category&#34; &#34;类别&#34; (大写&#34; C&#34;)?或&#34; AppBundle:类别&#34;

2 个答案:

答案 0 :(得分:1)

现在我明白了。它是相关实体类变量的名称:-)

enter image description here

答案 1 :(得分:0)

为了补充一下,几乎所有你可以在教义中做的事情(肯定可以应用于任何其他ORM / ODM),几乎在每个上下文中(QueryBuilder,findBy方法......)你将使用属性名称而不是名称。

原因很简单,ORM处理对象及其属性,抽象实际表及其列,无论数据库引擎还是其他任何内容。