ich eine Repository-Methode aufrufen und ein Array darin für die Parameter übergeben. Aber das Array ist nach dem ersten Parameter benannt und ich verstehe nicht warum.Array ohne Grund benannt
Hier ist der Aufruf:
/**
* @param $month
* @param $year
* @return Conges[]
*/
public function getAllCongesPayes($year, $month)
{
return $this->congesRepository->getNbCongesByMonth(array('year' => $year, 'month' => $month, 'cngPaye' => true));
}
Und in dem Fehler kann ich sehen:
array('year' => array('year' => '2016', 'month' => '05', 'cngPaye' => true)))
Und natürlich ist es zu sagen "Missing Argument 2", da nur ein Array in es ist.
Hier ist die Repository-Methode:
public function getNbCongesByMonth($year, $month, $conge){
$qb = $this->createQueryBuilder('e');
$listOfEntities = $qb
->select('count(e) as nb')
// ->leftjoin('e.cngUsrLogin', 'u')
->where(
$qb->expr()->like('e.cngDateDebut',
$qb->expr()->literal($year.'-'.$month.'-%')
)
)
->andWhere('e.congesPayes = :conge')
// ->andWhere('u.usrGestionCra = 1')
// ->groupBy('e')
->setParameter('conge', $conge)
->getQuery()
->getResult();
return $listOfEntities;
}
und der Anruf in der Steuerung:
$this->congesService = $this->get("intranet.conges_service");
$nbCongesPayes = $this->congesService->getAllCongesPayes('2016', '05');
Wenn jemand erklären könnte, warum dies das passiert wäre genial.
Vielen Dank im Voraus.
Ich war im Begriff zu antworten, bevor ich das sah. Eigentlich, ich denke, anstatt "getNbCongesByMonth ($ Jahr, $ Monat, $ Conge)" in 'getNbCongesByMonth ($ Array)' zu ändern, wäre es besser zu ändern 'return $ this-> CongesRepository-> getNbCongesByMonth (Array (' Jahr '=> $ Jahr,' Monat '=> $ Monat,' cngPaye '=> true); 'um' this-> congesRepository-> getNbCongesByMonth ($ year, $ month, true); 'zurückzuliefern macht die Parameter des Arrays besser sichtbar. – Terenoth
Oh yeah, nice :) Eigentlich war es eine Frage wert ^^ Danke! –