我在使用条令queryBuilder获取数据时遇到了这样的问题。
如何更改此SQL:
SELECT c.*, ct.value as name_pl
FROM cities c
LEFT JOIN cities_translations ct ON c.id = ct.city_id AND ct.language_code = 'pl'
(正在从两个表中选择列表数据)
使用条令查询生成器进入DQL?
我已经有了这个实体:
class City
{
public $id
public $slug;
public $name;
public $translations;
}
并使用查询生成器进行查询:
$queryBuilder
->select('c, ct.value as name_pl')
->from('cities', 'c')
->leftJoin('c.translations', 'ct', Join::WITH, 'ct.language_code = pl')
->getQuery()
->getResult();
其效果是,它从数据库中正确查询数据,但在将数据映射到对象时失败。它返回包含两项的数组(第一项是City对象,第二项是name_pl字符串和值),插入City对象的列表(name_pl作为City对象的字段)