如何更新 Symfony 中的布尔值?

How to update boolean value in Symfony?

当用户评论 post 时,其批准首先保存为 false,因为管理员必须审查他的 post 并批准它。我希望在管理员完成审核后将其更改为已批准。

这是我的初始代码:

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

但是,我收到了这个错误:

Call to a member function setApproval() on boolean

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