Bonjour,
je viens de migrer mon site vers symfony 5.1.5 tout e gardant la version 4.2 au cas ou...
Globalement tout fonctionnne bien sauf sur cette fonction d'affichage d'une affaire dans twig qui me génère l'erreur suivante, uniquement en version 5.1:
Argument 3 passed to Symfony\Bridge\Twig\Extension\RoutingExtension::getPath() must be of the type bool, array given, called in /Sites/hde/var/cache/dev/twig/67/67545e2f7b89df170de2d026923c62c1a210c737d3ff6c1b02b62a95a51f9738.php on line 146
Le code du controller est le suivant:
/**
* @route("/{id}/show", name="affaire_show", methods={"GET","POST"})
* @param Affaire $id
* @return Response
*/
public function show(Affaire $id): Response
{
/** @var object $affaire */
$affaire = $this->getDoctrine()
->getRepository(Affaire::class)
->findOneBy(['id' => $id]);
if (($affaire->getStatutDevis() !== 'Facture sans devis') && ($affaire->getNumDevis() === null)) {
/** @var int $numDev */
$numDev = $this->getDoctrine()->getRepository(Affaire::class)->maxNumDevis();
if ($numDev) {
$numD = (int)$numDev[0]['lastNumDev'];
++$numD;
} else {
$numD = 1;
}
$affaire->setNumDevis($numD);
}
$entityManager = $this->getDoctrine()->getManager();
$entityManager->createQuery(
$nbrlignes = $this->getDoctrine()
->getRepository(Rubrique::class)
->countLignesByRubriques($affaire));
$nbreTot = 0;
foreach ($nbrlignes as $nbrligne => $value) {
$nbreTot += $value['nbreLignes'];
}
$affaire = $this->getDoctrine()
->getRepository(Affaire::class)
->findOneBy(['id' => $id]);
$entityManager->flush();
return $this->render(
'affaire/show.html.twig',
[
'affaire' => $affaire,
'nberub' => count($affaire->getRubrique()),
]
);
}
La ligne 146 indiquée par le warning de symfony est : 'nberub' => count($affaire->getRubrique()),
A l'identique elle ne pose aucun problème à symfony 4.4
Quelqu'un aurait il une idée?
Pourquoi indique t'il argument 3 alors qu'il n'y en a que 2?
Merci de votre aide