Skip to content


DDC-2177: WHERE IN not working #2869

doctrinebot opened this Issue · 4 comments

2 participants


Jira issue originally created by user userfriendly:

I'm going by the docs, trying to get a WHERE IN type of query working with the query builder.

I've got a flat array of IDs, e.g. something like this:

$IDs = array( 228052, 265635, 344498, 391761, 329203, 317911, 305961, 299939, 249429, 344706 );

I've tried the following ways to get this working:

  • using the Expr class:

    $qb->add( 'where', $qb->expr()->in( '', ':IDs' ));
    $qb->setParameter( 'IDs', $IDs );

  • alternatively:

    $qb->add( 'where', $qb->expr()->in( '', $IDs ));

  • even direct DQL:

    $qb->where( ' IN (:IDs)' );
    $qb->setParameter( 'IDs', $IDs );

The generated DQL looks fine:

SELECT c FROM MyEntity c WHERE IN('228052', '265635', '344498', '391761', '329203', '317911', '305961', '299939', '249429', '344706')

But when I call execute() on that query, all these variations give me the following error:

Expected argument of type "Doctrine\ORM\QueryBuilder", "array" given


Comment created by userfriendly:

never mind.... it was something i was doing wrong. :) thank god...


Issue was closed with resolution "Invalid"


Comment created by @ocramius:

[~userfriendly] what was it exactly?


Comment created by userfriendly:

The error was thrown by the Symfony Form Framework, not Doctrine. Sorry about that. :-/

@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot closed this
@doctrinebot doctrinebot added the Bug label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.