Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用条令从数据库获取Json时出现问题_Php_Mysql_Sql_Symfony_Doctrine - Fatal编程技术网

Php 使用条令从数据库获取Json时出现问题

Php 使用条令从数据库获取Json时出现问题,php,mysql,sql,symfony,doctrine,Php,Mysql,Sql,Symfony,Doctrine,我使用symfony 5并在我的数据库中创建一个“user”表,而我的“user”表具有“roles”列 “角色”列是json 我在我的控制器中使用它来查找所有具有“roles”=[“ROLE\u user”]的用户: public function usersList(EntityManagerInterface $em): Response { $lists = $em->createQueryBuilder() ->select('user')

我使用symfony 5并在我的数据库中创建一个
“user”
表,而我的
“user”
表具有
“roles”

“角色”
列是json

我在我的控制器中使用它来查找所有具有
“roles”=[“ROLE\u user”]
的用户:

public function usersList(EntityManagerInterface $em): Response
{
    $lists = $em->createQueryBuilder()
        ->select('user')
        ->where('user.roles = ["ROLE_USER"]')
        ->getQuery()
        ->execute();

    return $this->render('list.html.twig',[
        'lists' => $lists
    ]);
}
但是告诉我这个错误:

[语法错误]第0行第12列:错误:应为 条令\ORM\Query\Lexer::T_FROM,获取“WHERE”


如何解决此问题?

错误消息显示Expected Doctrine\ORM\Query\Lexer::T\u FROM,这意味着您需要将FROM添加到查询中。这与角色无关

$lists = $em->createQueryBuilder()
    ->select('user')
    ->from(User::class, 'user')
    ->where('user.roles = ["ROLE_USER"]')
    ->getQuery()
    ->execute();

您可以使用此选项从数据库中获取数据:

public function usersList(EntityManagerInterface $em): Response
{
        $roles = 'ROLE_USER';
        $lists = $em->createQueryBuilder('u')
            ->select('u')
            ->from(User::class, 'u')
            ->where('u.roles LIKE :roles')
            ->setParameter('roles', '%"'.$roles.'"%')
            ->getQuery()
            ->getResult();

    return $this->render('list.html.twig',[
        'lists' => $lists
    ]);
}

谢谢,但显示错误:
[Syntax error]第0行,第57列:错误:预期的文字,得到的'['
'user.roles=[“ROLE\u user”]'无效。请尝试'user.roles=“[“ROLE\u user”]”或'u.roles LIKE”%ROLE\u user%”与phpmyadmin一起检查数据库中角色的实际值。
'user.roles=“[“ROLE\u user”]”“
”u.像“%ROLE\u USER%”这样的角色不起作用,并且在我的数据库集中显示相同的错误
[“ROLE\u USER”]