我有一个从实体获取的选择字段
我想通过选择从中挑选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
答案 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)
您不必为列设置不同的别名。它将被水合作为相关实体的列。