La Doctrine - Comment lier tableau pour le SQL?

Mon SQL ressemble à quelque chose comme ceci:

$sql = "select * from user where id in (:userId) and status = :status";

$em = $this->getEntityManager();
$stmt = $em->getConnection()->prepare($sql);
$stmt->bindValue(':userId', $accounts, \Doctrine\DBAL\Connection::PARAM_INT_ARRAY);
$stmt->bindValue(':status', 'declined');
$stmt->execute();

$result = $stmt->fetchAll();

Mais il retourne:

Une exception s'est produite lors de l'exécution (...)

avec params
[[1,2,3,4,5,6,7,8,11,12,13,14], "refusé"]

Avis: Tableau de conversion de chaîne de caractères

Je ne peux pas l'utilisateur queryBuilder parce que mon vrai SQL est plus compliqué (ex. contient rejoint sélectionner, syndicats, etc)

Pouvez-vous utiliser foreach? foreach($accounts as $key => $val) { $stmt->bindValue(':userId', $val); }

OriginalL'auteur breq | 2016-05-13