Doctrine 无实体原则中的联接表

Doctrine 无实体原则中的联接表,doctrine,symfony,dql,Doctrine,Symfony,Dql,我有一个无法解决的问题。 我有一个实体,我正试图将其加入一个表: /** * @var ArrayCollection * * @ORM\ManyToMany(targetEntity="FeaturedAttribute") * @ORM\JoinTable(name="property_featured_attribute", * joinColumns={@ORM\JoinColumn(name="property", refer

我有一个无法解决的问题。 我有一个实体,我正试图将其加入一个表:

 /**
     * @var ArrayCollection
     *
     * @ORM\ManyToMany(targetEntity="FeaturedAttribute")
     * @ORM\JoinTable(name="property_featured_attribute",
     *     joinColumns={@ORM\JoinColumn(name="property", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="featured_property", referencedColumnName="id")})
     */
我需要在我的DQL代码中使用name
property\u characterized\u属性
连接表:

LEFT JOIN property_featured_attribute pfa WITH pfa.property = p.id
WHERE pfa.featured_property IN (:attrs)
问题是,这个表-property\u-characterized\u-attribute-没有实体,所以我得到了如下错误:

'错误:未定义类'property\u characterized\u attribute'


在我的DQL查询中是否可以连接没有实体的表

使用DQL无法做到这一点,因为DQL的目的是对对象模型进行查询。DQL是对象模型的查询语言,而不是关系模式的查询语言

但您可以使用DBAL进行简单查询:

$conn = $this->get('database_connection');
$res = $conn->query('SELECT...');