Skip to main content

Symfony 2.5 : sql query with Where IN Clause using an array asaas a parameter

deleted 144 characters in body; edited tags
Source Link
Matteo
  • 39.8k
  • 11
  • 110
  • 129

I am trying to run sql query. I am trying to select users with specific roles. Below my query:

                              $roleUser= $this->container->getParameter('user_role');

                          $query = $this->getDoctrine()->getEntityManager()
                              ->createQuery(
                                  'SELECT u FROM UserBundle:User ur
                                  WHERE ur.role  IN :role_user')
                             ->setParameters('role_user',$roleUser);

In my config.yml I defined my user roles

parameters:
  user_role:
   - ADMIN1
   - ADMIN2
   - ADMIN3

I want to select all the user that has one of the role ADMIN1, ADMIN2 or ADMIN3.

Here is the error message:

Warning: Invalid argument supplied for foreach() in /Test/vendor/doctrine/orm/lib/Doctrine/ORM/Query.php line 246
{
    $types = array();
    foreach ($this->parameters as $parameter) {
        /** @var Query\Parameter $parameter */
        $types[$parameter->getName()] = $parameter->getType();
    }

I am trying to run sql query. I am trying to select users with specific roles. Below my query:

                              $roleUser= $this->container->getParameter('user_role');

                          $query = $this->getDoctrine()->getEntityManager()
                              ->createQuery(
                                  'SELECT u FROM UserBundle:User ur
                                  WHERE ur.role  IN :role_user')
                             ->setParameters('role_user',$roleUser);

In my config.yml I defined my user roles

parameters:
  user_role:
   - ADMIN1
   - ADMIN2
   - ADMIN3

I want to select all the user that has one of the role ADMIN1, ADMIN2 or ADMIN3.

Here is the error message:

Warning: Invalid argument supplied for foreach() in /Test/vendor/doctrine/orm/lib/Doctrine/ORM/Query.php line 246
{
    $types = array();
    foreach ($this->parameters as $parameter) {
        /** @var Query\Parameter $parameter */
        $types[$parameter->getName()] = $parameter->getType();
    }

I am trying to run sql query. I am trying to select users with specific roles. Below my query:

  $roleUser= $this->container->getParameter('user_role');

  $query = $this->getDoctrine()->getEntityManager()
      ->createQuery(
          'SELECT u FROM UserBundle:User ur
          WHERE ur.role  IN :role_user')
     ->setParameters('role_user',$roleUser);

In my config.yml I defined my user roles

parameters:
  user_role:
   - ADMIN1
   - ADMIN2
   - ADMIN3

I want to select all the user that has one of the role ADMIN1, ADMIN2 or ADMIN3.

Here is the error message:

Warning: Invalid argument supplied for foreach() in /Test/vendor/doctrine/orm/lib/Doctrine/ORM/Query.php line 246
{
    $types = array();
    foreach ($this->parameters as $parameter) {
        /** @var Query\Parameter $parameter */
        $types[$parameter->getName()] = $parameter->getType();
    }
Source Link
Th Th
  • 51
  • 3

Symfony 2.5 : sql query with Where IN Clause using an array asa a parameter

I am trying to run sql query. I am trying to select users with specific roles. Below my query:

                              $roleUser= $this->container->getParameter('user_role');

                          $query = $this->getDoctrine()->getEntityManager()
                              ->createQuery(
                                  'SELECT u FROM UserBundle:User ur
                                  WHERE ur.role  IN :role_user')
                             ->setParameters('role_user',$roleUser);

In my config.yml I defined my user roles

parameters:
  user_role:
   - ADMIN1
   - ADMIN2
   - ADMIN3

I want to select all the user that has one of the role ADMIN1, ADMIN2 or ADMIN3.

Here is the error message:

Warning: Invalid argument supplied for foreach() in /Test/vendor/doctrine/orm/lib/Doctrine/ORM/Query.php line 246
{
    $types = array();
    foreach ($this->parameters as $parameter) {
        /** @var Query\Parameter $parameter */
        $types[$parameter->getName()] = $parameter->getType();
    }