Join 许多人加入,但不起作用

Join 许多人加入,但不起作用,join,doctrine-orm,many-to-many,Join,Doctrine Orm,Many To Many,我的选择不起作用,为什么???我看到其他帖子,但没有解决这个问题 如果我像这样使用join: ->join('User', 'u') 结果是4个值,我期望2 型号: class User { ... /** * @ManyToMany(targetEntity="UserGroup", mappedBy="users", cascade={"all"}) * @JoinTable(name="users_user_group") */

我的选择不起作用,为什么???我看到其他帖子,但没有解决这个问题

如果我像这样使用join:

->join('User', 'u')
结果是4个值,我期望2

型号:

class User
{
    ...

    /**
     * @ManyToMany(targetEntity="UserGroup", mappedBy="users", cascade={"all"})
     * @JoinTable(name="users_user_group")
     */
    protected $userGroups;

QueryBuilder:

$queryBuilder = $this->getController()->getRepository()
        ->createQueryBuilder('ug')
        ->select('ug, u')
        ->leftJoin('User', 'u', 'WITH', 'ug.id = u.userGroups')
        ->andWhere('u.id IN (:ids)')
        ->setParameter('ids', $usersId);
我收到这个消息:

[Semantical Error] line 0, col 63 near 'userGroups WHERE': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
这种SQL有效,为什么DQL不行

SELECT 
    *
FROM
    users_user_group ug
        LEFT JOIN
    user u ON ug.user_id = u.id
WHERE
    ug.user_id IN (1 , 2)
我改变了这一行:

->leftJoin('User', 'u', 'WITH', 'ug.id = u.userGroups')
对于it:

->join('User', 'u', 'WITH', 'ug.id = u.id')
\o/

->join('User', 'u', 'WITH', 'ug.id = u.id')