【发布时间】:2021-04-11 08:53:14
【问题描述】:
我正在尝试转换这个 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 列“brand b ON u.id”附近:错误:类 “品牌”未定义。
有人可以帮忙吗? 非常感谢
【问题讨论】:
-
普通 SQL 查询是否有效?
-
是的,普通 SQL 查询正在运行
-
如果我没看错,你没有从 from 获得 user_account 表。您也不需要
brand和influencer的来自,但您需要正确加入leftJoin('u', 'brand', 'b', 'u.id = b.user_id');b.user_id_id有错字吗? -
是的,这是一个很好的错字,但它不起作用:/
标签: sql doctrine-orm query-builder