如何在Symfony中更新布尔值?
当用户对帖子发表评论时,其批准首先保存为如何在Symfony中更新布尔值?,symfony,symfony4,Symfony,Symfony4,当用户对帖子发表评论时,其批准首先保存为false,因为管理员必须审查他的帖子并批准它。我希望它更改为批准后,管理员已经完成了他们的审查 这是我的初始代码: if ($form->isSubmitted() && $form->isValid()){ $data = $form->getData(); $em = $this->getDoctrine()->getManager(); $data->setApprova
false
,因为管理员必须审查他的帖子并批准它。我希望它更改为批准后,管理员已经完成了他们的审查
这是我的初始代码:
if ($form->isSubmitted() && $form->isValid()){
$data = $form->getData();
$em = $this->getDoctrine()->getManager();
$data->setApproval(false);
$em->persist($data);
$em->flush();
// $this->redirectToRoute("view_blog");
return $this->redirect($request->getUri());
}
管理员验证用户评论后,单击“批准”按钮,然后我执行以下操作:
$post = $this->getDoctrine()->getRepository(Comment::class)->find($id);
$data = $post->getApproval();
$em = $this->getDoctrine()->getManager();
$data->setApproval(true);
$em->persist($data);
$em->flush();
但是,我得到了这个错误:
对布尔函数调用成员函数setApproval()
替换
$data->setApproval(true)代码>带有$post->setApproval(true)代码>
应该是这样的
$post = $this->getDoctrine()->getRepository(Comment::class)->find($id);
$em = $this->getDoctrine()->getManager();
$post->setApproval(true);
$em->persist($data);
$em->flush();
同样,在更新时,不需要再次持久化实体。