如何在Symfony中更新布尔值?

时间:2018-06-29 06:44:41

标签: symfony symfony4

当用户对某条信息发表评论时,其批准首先会保存为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()

1 个答案:

答案 0 :(得分:1)

$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();