相关疑难解决方法(0)

Symfony2和Doctrine - 错误:无效的PathExpression.必须是StateFieldPathExpression

我有一个看起来像这样的实体:

/**
 * @Gedmo\Tree(type="nested")
 * @ORM\Table(name="categories")
 * @ORM\Entity()
 */
class Category extends BaseCategory
{

    /**
    * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
    */
    protected $children;

    /**
    * @Gedmo\TreeParent
    * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
    * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
    */
    protected $parent;

}
Run Code Online (Sandbox Code Playgroud)

我试图运行这样的查询:

$qb = $this->em->createQueryBuilder()
            ->select('c.parent')
            ->from('Category', 'c');

$result = $qb->getQuery()->getArrayResult();
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

[Semantical Error] ... Error: Invalid PathExpression. Must be a StateFieldPathExpression. 
Run Code Online (Sandbox Code Playgroud)

如何从表中选择parent_id字段.我尝试了很多变化,即使我做了这样的事情:

$qb = $this->em->createQueryBuilder()
            ->select('c')
            ->from('Category', 'c');
Run Code Online (Sandbox Code Playgroud)

除了 parent_id 之外,我得到表中的所有字段.这似乎是学说正在阻碍.如何查询此parent_id字段?或者更好的是如何获得表中的所有字段,包括parent_id

dql symfony doctrine-orm

82
推荐指数
3
解决办法
7万
查看次数

标签 统计

doctrine-orm ×1

dql ×1

symfony ×1