zend_db查询到doctrine 2 querybuilder转换

时间:2016-04-10 07:21:21

标签: mysql symfony doctrine-orm zend-framework2 doctrine

在dbTable中我有

 ->joinLeft(array('user_roles' => 'user_roles'),
     'user_roles.user_id = users.user_id AND user_roles.project_id = projects.project_id', null)
                            ->joinLeft(array('roles' => 'roles'),

并且在doctrine查询构建器中我有

-

>join('users.userRole','userRole')
        ->leftJoin('userRole.role','role')
        ->where('project.projectId = :project')

但我不知道如何在左连接子句中添加AND条件

帮我一个人

1 个答案:

答案 0 :(得分:2)

如果在LEFT JOIN子句中严格需要AND条件,则应使用doctrine nativeQuery方法。

但是这样做会没有?

->join('users.userRole','userRole')
->leftJoin('userRole.role','role', 'WITH', 'user_roles.user_id = users.user_id')
->where('project.projectId = :project')

我猜UserProject是Doctrine实体,因此您应该在where子句中使用实体定义。

->where('project = :project') // where project is an instance of Project