我有一些相当简单的实体,其中一个是A, A有列parent
注释
@ORM'JoinColumn(name="parentid", referencedColumnName="id", nullable=true)
@ORM'ManyToOne(targetEntity="A", inversedBy="children", cascade={"persist"})
基本上是对另一个a实体的引用。
当我尝试在这样的查询中查询这个实体a .parent时
$qb->select("A.parent")
// or
$qb->select("A.parentid")
// or
$qb->select("A.Parent")
$qb->leftJoin("A.parent", "parent")
我最终得到这个错误:
实体……没有名为parent/parentid
的字段或关联
如果定义是这样的
/**
* @ORM'JoinColumn(name="parentid", referencedColumnName="id", nullable=true)
* @ORM'ManyToOne(targetEntity="A", inversedBy="children", cascade={"persist"})
*/
private $parentField;
查询生成器应该是这样的
$qb
->select('a, p')
->from('AppBlogBundle:A', 'a')
->leftJoin('a.parentField','p');