查询构建器从leftJoin中选择id

时间:2011-08-04 10:32:08

标签: doctrine-orm symfony symfony-forms

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

return $er->createQueryBuilder('tl')
    ->addSelect('l')
    ->addSelect('t')
    ->leftJoin('tl.lang', 'l')
    ->leftJoin('tl.type', 't')
    ->where('l.isDefault = 1')
    ->orderBy('tl.name', 'ASC');

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

2 个答案:

答案 0 :(得分:1)

您的查询不符合Doctrine 2 QueryBuilder中定义的语法:http://www.doctrine-project.org/docs/orm/2.0/en/reference/query-builder.html

您的查询可能在Doctrine 1.2中有效,但在Doctrine 2中,您应该根据我在上面发布的链接中定义的语法构建您的查询。

例如,->addSelect('l')不再在Doctrine 2中使用。它已成为->add('select', 'l')

答案 1 :(得分:1)

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