我试图为 IN 子句使用学说 entitymanager 运行原始 sql 查询,如下所示。
    $idSArray  = Array ( [0] => 1 [1] => 2 )
    $stmt = $this->getDoctrine()->getEntityManager()
    ->getConnection()
    ->prepare('SELECT t1.id , t1.name , t2.start_date , t2.end_date 
    FROM table1 t1 , table2 t2 
    WHERE t1.id = t2.matchId AND  t1.id IN (:ids)');
    $params = array(
      'ids'  => implode( ",", $idSArray )
    );
    $stmt->execute($params);
    $results = $stmt->fetchAll();
但我只得到 Id = 1 的结果。如果我将 WHERE IN 条件硬编码为
     WHERE t1.id = t2.matchId AND  t1.id IN (1,2)');
然后得到两个 ID 的结果。谁能告诉我我在传递 $params 数组时做错了什么。我还打印了输出 1,2 的内爆结果。所以我无法找到错误以及使用 IN 子句执行原始 sql 查询的方法。