ORMなんて嫌いだー。
とりあえず、複雑なSQLと仮定して、ナマでSQLを叩きたくなったら以下のような感じでいける。 ここらへん資料少くて辛い。誰かの役に立てば幸い。
$entityManager = $this->getDoctrine()->getManager(); $idlist= array(); for($i=0;$i<count($hogeList);$i++){ $idList[] = $hogeList[$i]; // in句で渡したい配列を入れる } $sql = "select hoge1,hoge2 from foo_table where var_clm in (:idList);"; $rsm = new ResultSetMapping(); $rsm->addScalarResult('hoge1', 'hogehoge'); // 結果セットのカラムのマッピング必須 $rsm->addScalarResult('hoge2', 'hogehage'); // 結果セットのカラムのマッピング必須(無いとselectに書いてても取得されない) $query = $entityManager->createNativeQuery($sql,$rsm) $query->setParameter("idList", $idList, \Doctrine\DBAL\Connection::PARAM_STR_ARRAY); //配列を引数に渡す $data = $query->getResult();