0

我的 PageRepository 中有这个 DQL 请求:

SELECT p, b
FROM CmsCmsBundle:Page p
JOIN b.page p
WHERE p.position = :position

并出现此错误消息:

[语义错误] 第 0 行,第 51 列靠近“.page p WHERE”:错误:标识变量 b 用于连接路径表达式,但之前未定义。

我有 2 个具有双向关系的实体(页面和块),如下所示:

/**
 * (Block.php (without "s" )
 * @ORM\ManyToOne(targetEntity="Cms\CmsBundle\Entity\Page", inversedBy="blocks")
 * @ORM\JoinColumn(nullable=false)
 * @Assert\Valid()
 */
private $page;

 /**
  * (page.php)
  * @ORM\OneToMany(targetEntity="Cms\CmsBundle\Entity\Block", mappedBy="page", cascade={"persist"})
  * @ORM\JoinColumn(nullable=false)
  * @Assert\Valid()
  */
 protected $blocks;

一些想法?

问题解决了,我刚刚反转了“b.page p”而不是“p.blocks b”

4

0 回答 0