我在PageRepository中有这个DQL请求:
SELECT p, b
FROM CmsCmsBundle:Page p
JOIN b.page p
WHERE p.position = :position
出现此错误消息:
[语义错误]第0行,第51页附近'.page p WHERE':错误:标识变量b在连接路径表达式中使用但之前未定义。
我有两个具有双向关系的实体(页面和块),如下所示:
/**
* (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”