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