Th *_* Th 5 php mysql sql-server symfony doctrine-orm
我正在尝试运行SQL查询.我正在尝试选择具有特定角色的用户.在我的查询下面:
$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);
Run Code Online (Sandbox Code Playgroud)
在我的config.yml中,我定义了我的用户角色
parameters:
user_role:
- ADMIN1
- ADMIN2
- ADMIN3
Run Code Online (Sandbox Code Playgroud)
我想选择具有ADMIN1,ADMIN2或ADMIN3角色之一的所有用户.
这是错误消息:
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();
}
Run Code Online (Sandbox Code Playgroud)
尝试使用setParameter
而不是setParameters
:
尝试这个:
->setParameter('role_user',$roleUser);
Run Code Online (Sandbox Code Playgroud)
而不是这个:
->setParameters('role_user',$roleUser);
Run Code Online (Sandbox Code Playgroud)
有关设置参数的更多信息,请参见文档。
希望这有帮助