如何编写多个where条件和IN条件的查询?

时间:2019-12-20 07:51:58

标签: php symfony4

我从一个表查询,其中有多个条件,输入条件和按条件排序。

基本上,我的查询就是这样。

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不会返回与第一个相同的结果。

有人可以帮我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

您没有在构建器中指定表名'customer'。模型ID的数组也为空。