了解双向关系中的拥有方如何运作

时间:2014-05-21 19:06:08

标签: php symfony doctrine-orm entity

我正在使用php app/console doctrine:schema:validate任务验证项目架构(代码不是我的,我只是想让这个工作正常)。我能看到的一个常见信息就是这个:

  
      
  • 字段Mapyet \ AfiliadoBundle \ Entity \ Widget#negocio是双向关系的拥有方,但是指定的   mappedBy在目标实体上的关联   Mapyet \ AfiliadoBundle \ Entity \ Negocio#不包含所需内容   ' inversedBy'属性。
  •   

$negocio实体Widget.php的定义方式如下:

/**
 * @ORM\ManyToOne(targetEntity="Negocio", mappedBy="widget")
 */
private $negocio;

$widget实体Negocio.php的定义方式如下:

/**
 * @ORM\OneToMany(targetEntity="Widget", inversedBy="negocio")
 */
private $widget;

该定义有什么问题?

1 个答案:

答案 0 :(得分:2)

反转他们:

<强> Widget.php

/**
 * @ORM\ManyToOne(targetEntity="Negocio", inversedBy="widget")
 */
private $negocio;

<强> Negocio.php

/**
 * @ORM\OneToMany(targetEntity="Widget", mappedBy="negocio")
 */
private $widget;

http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html#one-to-many-bidirectional