我有一些相当简单的实体,A是A,A有parent
列注释
@ORM\JoinColumn(name="parentid", referencedColumnName="id", nullable=true)
@ORM\ManyToOne(targetEntity="A", inversedBy="children", cascade={"persist"})
这基本上是对另一个实体的引用。
当我尝试在像这样的查询中查询此实体A.parent时
$qb->select("A.parent")
// or
$qb->select("A.parentid")
// or
$qb->select("A.Parent")
$qb->leftJoin("A.parent", "parent")
我最终收到此错误:
实体....没有名为parent / parentid的字段或关联
答案 0 :(得分:0)
如果定义是这样的
/**
* @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');