Я пытаюсь отобразить статистику перевозчиков в моей базе данных. Когда я вызываю функцию, но получаю сообщение об ошибке:
class: "Doctrine\DBAL\Exception\SyntaxErrorException"
message: "An exception occurred while executing 'select count(cod_ser) TOTAL FROM public.tiers_datamart period =06-2019':↵↵SQLSTATE[42601]:
Мой код такой:
public function getTotalDatabyMonth($date, $type, $filtre) {
$em = $this->getDoctrine()->getManager('dbStat')->getConnection();
if($filtre == null) {
$restriction = "period =".$date;
}else {
$restriction = $type." = ".$filtre." AND period = ".$date;
}
$rawSql = "select count(".$type.") TOTAL FROM public.tiers_datamart ".$restriction;
$stmt = $em->prepare($rawSql);
$stmt->execute();
$result = $stmt->fetchAll();
return intval($result[0]['total']);
}
public function getTotalDatabyMonths($dates, $type, $filtre) {
$totalDatas = [];
foreach($dates as $date){
$total = $this->getTotalDatabyMonth($date, $type, $filtre);
array_push($totalDatas, $total);
}
return $totalDatas;
}
Я вызываю функцию по 'data'=> $this->getTotalDatabyMonths($dataFormats[1], "cod_ser", $restriction)
Я пытался заменить $filtre
на $restriction
в методе getTotalDatabyMonths()
, но он возвращал одно и то же значение 12 раз.