我是Symfony 4的初学者,我想计算对象的记录,但它不起作用。这是我的代码
//我的存储库类中的函数count()
public function count()
{
return $this->createQueryBuilder('d')
->select('count(d.codeMarche) as count')
->getQuery()
->getSingleScalarResult();
}
//在我的控制器类中,我调用了我的函数count()
/**
* @Route("/", name="home")
*/
public function hom(MarcheDAORepository $repo){
$count = $repo->count();
return $this->render('index/home.html.twig', ['nbrDAO'=>$count]);
}
我需要您的帮助!
count方法已经在父类中定义了,因此您可以省略实现并使用默认一个(如DOC建议返回int值)或在您的方法中重命名您的方法想使用自定义实现,例如
public function countCodeMarche()
{
return $this->createQueryBuilder('d')
->select('count(d.codeMarche) as count')
->getQuery()
->getSingleScalarResult();
}
将返回字符串,如果您需要其他类型,则应将其铸造为int。
您可以通过以下代码做到这一点:
public function hom(MarcheDAORepository $repo){
$items = $repo->findAll();
$count=count($items);
return $this->render('index/home.html.twig', ['nbrDAO'=>$count]);
}