Doctrine orm 查询生成器从leftJoin中选择id

Doctrine orm 查询生成器从leftJoin中选择id,doctrine-orm,symfony,symfony-forms,Doctrine Orm,Symfony,Symfony Forms,我有一个select字段,它从一个实体获取数据 我想通过选择从中选择id的表来完全自定义我的选择 (这里我想选择t.id而不是tl.id作为选择值) 由于我的表,我不能简单地获取表t,我必须使用tl您的查询不符合原则2 QueryBuilder中定义的语法: 您的查询可能在原则1.2中工作,但在原则2中,您应该根据我在上面发布的链接中定义的语法构建查询 例如,->addSelect('l')不再用于原则2中。它已成为->add('select','l') 您不必为列设置不同的别名。它将作为相关实

我有一个select字段,它从一个实体获取数据 我想通过选择从中选择id的表来完全自定义我的选择 (这里我想选择
t.id
而不是
tl.id
作为选择值)


由于我的表,我不能简单地获取表t,我必须使用tl

您的查询不符合原则2 QueryBuilder中定义的语法:

您的查询可能在原则1.2中工作,但在原则2中,您应该根据我在上面发布的链接中定义的语法构建查询


例如,
->addSelect('l')
不再用于原则2中。它已成为
->add('select','l')

您不必为列设置不同的别名。它将作为相关实体的柱状物水合

->addSelect('l')是->添加('select','l')的快捷方式。如何根据某些条件附加选择字段?
return $er->createQueryBuilder('tl')
    ->addSelect('l')
    ->addSelect('t')
    ->leftJoin('tl.lang', 'l')
    ->leftJoin('tl.type', 't')
    ->where('l.isDefault = 1')
    ->orderBy('tl.name', 'ASC');