Php Symfony2.7:警告:count():参数必须是实现可计数的数组或对象
我想在数据库中添加一个活动。但每次尝试时,我都会出现以下错误: 警告:count:参数必须是实现可计数的数组或对象 我和你一起工作 symfony版本2.7, php版本7.2.10和 PostgreSQL 4.10版 这个错误没有出现在较低版本的Postgresql和PHP上,因为我有另一个安装程序正在运行同一个项目,但我也需要它在这个环境中工作。我认为更高版本可能是导致此错误的原因,但不确定 同时,我在控制器上运行了一些测试,当我提交表单时,它甚至没有到达我持久化并刷新activite对象的部分 FicheController.phpPhp Symfony2.7:警告:count():参数必须是实现可计数的数组或对象,php,postgresql,symfony,Php,Postgresql,Symfony,我想在数据库中添加一个活动。但每次尝试时,我都会出现以下错误: 警告:count:参数必须是实现可计数的数组或对象 我和你一起工作 symfony版本2.7, php版本7.2.10和 PostgreSQL 4.10版 这个错误没有出现在较低版本的Postgresql和PHP上,因为我有另一个安装程序正在运行同一个项目,但我也需要它在这个环境中工作。我认为更高版本可能是导致此错误的原因,但不确定 同时,我在控制器上运行了一些测试,当我提交表单时,它甚至没有到达我持久化并刷新activite对象的
public function declarationActiviteAction(Request $req)
{
$em = $this->getDoctrine()->getManager();
$query = $em->getRepository('BundleName:Activite')->findAll();
$user = $em->getRepository('BundleName:FosUser')->find(1);
$act = new Activite();
$form = $this->createForm(new activiteType, $act);
$form->handleRequest($req);
if ($form->isSubmitted() && $form->isValid()) {
$em->persist($act);
$em->flush();
return $this->redirectToRoute('declaration_activite');
}
return $this->render('BundleName:Vues:declaration.html.twig', [
'table' => $query,
'form' => $form->createView()
]);
}
这件事我已经讨论了很长一段时间了,我不知道如何摆脱它,谢谢你的帮助。以防有人最终陷入同样的境地 msg的回复是正确的。 这个问题来自PHP7.2.0,因为Symfony2.7不再维护,事情变得一团糟。
解决方案是返回到PHP7.0或更低版本,或者将symfony更新到3.4,在提供的源代码中没有计数。你能给出错误发生在哪一行的提示吗,最好是stacktrace?这是。您可能需要更新依赖项。更新:从LTS发行版开始,您就开始使用Symfony 2.8了。Symfony 2.8一直支持到2018年11月,目前仍在接受安全修复。您是否尝试过先更新到该版本?对于此项目,我必须保持版本2.7,因此我没有深入搜索2.8是否可以解决此问题。2.8应该完全向后兼容。但如果你有严格的要求,那就是它。