【发布时间】:2023-03-04 11:43:03
【问题描述】:
我有这个带有子查询的查询。
SELECT * FROM
(SELECT module_id FROM an_modules AS m LIMIT 20 OFFSET 0) AS m
LEFT JOIN an_module_sites AS ms ON (m.module_id = ms.module_id)
如何使用DBAL 来构建这样的子查询?
这似乎不起作用。
$qb->select('*')
->from(
$qb->select('module_id')
->from($this->Db->getTableName('modules'), 'm')
, 'm')
->leftJoin('m', $this->Db->getTableName('module_sites'), 'ms', 'm.module_id = ms.module_id');
$stmt = $qb->execute();
$result = $stmt->fetchAll();
【问题讨论】:
-
查询生成器不支持查询中的 from 语句。我建议您直接通过连接
$conn->executeQuery(..执行,或者如果您需要与statement作为$stmt = $conn->prepare($sql);的参数进行交互,那么您可以绑定值等...
标签: mysql doctrine-orm dbal