Mysql 我不能用第二条把两张桌子连在一起

Mysql 我不能用第二条把两张桌子连在一起,mysql,symfony,doctrine-orm,Mysql,Symfony,Doctrine Orm,这就是我得到的: $queryBuilder = $this->createQueryBuilder('a')->select()->where('a.id = ?0')->setParameters(array($id)); $queryBuilder->leftJoin('Doctrine\Entity\AccommodationUser', 'b'); $queryBuilder->leftJoin('Doctrine\Entity\Accommo

这就是我得到的:

$queryBuilder = $this->createQueryBuilder('a')->select()->where('a.id = ?0')->setParameters(array($id));
$queryBuilder->leftJoin('Doctrine\Entity\AccommodationUser',    'b');
$queryBuilder->leftJoin('Doctrine\Entity\AccommodationContact', 'c');
这不起作用,我得到:[语法错误]第0行,第97列:错误:预期的文字,得到'JOIN'错误消息。但是如果我试着一个接一个地做

$queryBuilder = $this->createQueryBuilder('a')->select()->where('a.id = ?0')->setParameters(array($id));
$queryBuilder->leftJoin('Doctrine\Entity\AccommodationContact', 'c');


它确实有用

$queryBuilder->leftJoin('a.实体中属性的名称,'b')

$queryBuilder->leftJoin('a.实体中属性的名称,'b')

原则在join语句中不使用类名。如果要加入另一个表,则需要使用表单
alias.property

$queryBuilder
    ->select('u')
    ->from('users', 'u')
    ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id')

来源:

原则在join语句中不使用类名。如果要加入另一个表,则需要使用表单
alias.property

$queryBuilder
    ->select('u')
    ->from('users', 'u')
    ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id')

来源:

有兴趣了解为什么我需要一次“条令\实体\住宿用户”,然后是“住宿用户”,如果它位于实体存储库中,您不需要从中指定
,因为它是从($entityName)选择($alias)->的快捷方式`-如果您直接在实体管理器上调用
createQueryBuilder
,您需要指定要从中选择的实体。感兴趣的是为什么我需要一次“条令\实体\调节器”,然后是“调节器”,如果它在实体存储库中,您不需要从
中指定
,因为它是“选择($alias)”的快捷方式->from($entityName)`-如果直接在实体管理器上调用
createQueryBuilder
,则需要指定要从中选择的实体。