add count method on repository query

add addForcedFilterHandler method
This commit is contained in:
Simon Vieille 2023-09-27 10:21:49 +02:00
parent 8d5de79192
commit 21ee41ff29
Signed by: deblan
GPG key ID: 579388D585F70417

View file

@ -98,6 +98,15 @@ abstract class RepositoryQuery
return $this;
}
protected function addForcedFilterHandler(string $name): self
{
if (in_array($name, $this->forcedFilterHandlers)) {
$this->forcedFilterHandlers[] = $name;
}
return $this;
}
protected function populateDqlId(&$data)
{
if (is_string($data)) {
@ -122,4 +131,15 @@ abstract class RepositoryQuery
protected function filterHandler(string $name, $value)
{
}
public function count()
{
return $this
->select(sprintf('COUNT(%s.id) as total', $this->id))
->query
->getQuery()
->setMaxResults(1)
->getOneOrNullResult()['total']
;
}
}