我有简单的公司表与关系:
id name parentId
1 Company1 0
2 Company2 1
3 Company3 1
4 Company4 3
如何编写与此表中的条目相关的Doctrine注释?
答案 0 :(得分:5)
似乎您的实体只是公司,每个公司都有一个名称,并且与另一家公司有很多关系。
您的公司实体应如下所示:
/**
* Company
*
* @ORM\Table()
* @ORM\Entity
*/
class Company {
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="name", type="string", length=100)
*/
protected $name;
/**
* @ORM\ManyToOne(targetEntity="Company")
* @ORM\JoinColumn(name="parentId", referencedColumnName="id")
*/
protected $parent;
}
对于基类,您应该考虑使用php app/console doctrine:generate:entity
来完成所有工作。您只需手动添加父关系。
你应该看一下Symfony关于这个主题的书:http://symfony.com/doc/current/book/doctrine.html。
所有关联映射配置都在Doctrine的文档中解释:http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html