Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL转换为createQueryBuilder_Sql_Doctrine Orm_Query Builder - Fatal编程技术网

将SQL转换为createQueryBuilder

将SQL转换为createQueryBuilder,sql,doctrine-orm,query-builder,Sql,Doctrine Orm,Query Builder,我正在尝试转换此sql SELECT * FROM user_account LEFT JOIN brand ON user_account.id = brand.user_id_id LEFT JOIN influencer ON user_account.id = influencer.user_id_id' 对于createQueryBuilder,我尝试了这个,但它不起作用 $qb = $this->createQueryBuilder('u') ->from

我正在尝试转换此sql

 SELECT * FROM user_account
 LEFT JOIN brand ON user_account.id = brand.user_id_id
 LEFT JOIN influencer ON user_account.id = influencer.user_id_id'
对于createQueryBuilder,我尝试了这个,但它不起作用

$qb = $this->createQueryBuilder('u')
    ->from(Brand::class, 'brand')
    ->from(Influencer::class, 'influencer')
    ->leftJoin('brand', 'b', 'ON', 'u.id = b.user_id_id')
    ->leftJoin('influencer', 'i', 'ON', 'u.id = i.user_id_id');
$query = $qb->getQuery();
return $query->execute();
我犯了这个错误

[语义错误]第0行第42列“u.id上的品牌b”附近:错误:类别 “品牌”没有定义

有人能帮忙吗?
非常感谢

我从未使用过doctrine query builder,但在阅读文档后,我建议以下解决方案:

$qb = $this->createQueryBuilder()
    ->from('user_account', 'u')
    ->leftJoin('u', 'brand', 'b', 'u.id = b.user_id_id')
    ->leftJoin('u', 'influencer', 'i', 'u.id = i.user_id_id')
$query = $qb->getQuery();
return $query->execute();

注意:我留下了
b.user\u id\u id
,就像您的示例中一样,尽管我认为有输入错误。也许这意味着
b.user\u id
。与影响者相同,普通SQL查询是否有效?是的,普通SQL查询有效如果我看得对,您没有从中获取用户帐户表。您也不需要来自
品牌
影响者
,但您需要右键加入
leftJoin('u','brand','b','u.id=b.user_id')
;是否有
b.user\u id\u id
的输入错误?是的,输入错误很好,但不起作用:/it's not working://@askemeline这有什么错误