我从一个表查询,其中有多个条件,输入条件和按条件排序。
基本上,我的查询就是这样。
SELECT
DISTINCT
name,
model,
plattform
FROM
customer
WHERE
model IN( 'a', 'b', 'c', 'd' )
AND column_1 > 2018
AND status = 0
ORDER BY
name,
model
我已使用查询生成器编写此查询,如下所示:
$cols = array(
"DISTINCT version.name",
"version.model",
"version.plattform"
);
$inArray = array(...);
$query = $this->createQueryBuilder("version")
->addSelect($cols);
$query->add("where", $query->expr()->in("version.model", $inArray))
->add("where", $query->expr()->gte("version.column_1", 2018))
->add("where", $query->expr()->eq("version.status", 0));
$query->orderBy("version.name", "version.model");
$result = $query->getDQL();
但是查询生成器中的DQL不会返回与第一个相同的结果。
有人可以帮我解决这个问题吗?
谢谢。
答案 0 :(得分:0)
您没有在构建器中指定表名'customer'。模型ID的数组也为空。