在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条件
帮我一个人
答案 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')
我猜User
和Project
是Doctrine实体,因此您应该在where子句中使用实体定义。
->where('project = :project') // where project is an instance of Project