我正在使用 Symfony 4 创建一个博客并使用以下命令生成表单:
php bin/控制台 make:form
当我尝试像这样渲染它时:
/**
* Require ROLE_USER for only this controller method.
* @Route("/create", name="post.create")
* @return Response
*/
public function create(): Response
{
$post = new Post();
$form = $this->createForm(CreatePostType::class, $post);
return new Response($this->twig->render('pages/create.html.twig'), [
'form' => $form->createView()
]);
}
我收到这个错误
无法将数据库值“'ROLE_USER'”转换为 Doctrine Type json
对于这条线
'form' => $form->createView()
这是我的 getRoles :
/**
* @see UserInterface
*/
public function getRoles(): array
{
$roles = $this->roles;
// guarantee every user at least has ROLE_USER
$roles[] = 'ROLE_USER';
return array_unique($roles);
}
和我的 security.yaml
security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
in_memory: { memory: ~ }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
我正在搜索 3 天并在没有安全管理的情况下在第二个目录中重新启动了我的项目,我不明白它的来源以及如何解决它
谢谢