【发布时间】:2015-06-08 13:56:18
【问题描述】:
我有一个名为Pointscomptage.php的实体:
class Pointscomptage
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="invariant", type="string", length=150, nullable=false)
*/
private $invariant;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=150, nullable=false)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="consoProduction", type="string", length=150, nullable=false)
*/
private $consoProduction;
/**
* @var Typesenergie
*
* @ORM\ManyToOne(targetEntity="Typesenergie", inversedBy="pointscomptage")
* @ORM\JoinColumn(name="typesenergie_id", referencedColumnName="id")
*/
private $typesenergie;
/** ... getters and setters */
我需要了解如何在此实体上创建 ManyToMany 递归 或 自反 关系。
也就是说,Pointscomptage 可以没有 (0) 个或许多 (n) 个 Pointscomptage。
如何在同一个实体上建立这种关系?
编辑
感谢Jovan Perovic的回答和建议,这是我找到的解决方案,我们需要尊重教义注释:
/**
* @ORM\ManyToMany(targetEntity="Pointscomptage")
* @ORM\JoinTable(name="pointscomptage_link_table",
* joinColumns={
* @ORM\JoinColumn(name="pointscomptage_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="id_pointscomptage2", referencedColumnName="id")
* }
* )
**/
private $pointscomptages;
非常感谢。
【问题讨论】:
标签: php database symfony doctrine-orm recursive-datastructures