Метод подсчета Symfony 4 с доктриной - PullRequest
1 голос
/ 18 марта 2019

Я новичок в 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]);
}

Мне нужна твоя помощь !!

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Метод count уже определен в родительском классе, так что вы можете просто пропустить свою реализацию и использовать стандартную (которая возвращает значение int в качестве подсказки документа) или переименовать ваш метод, если хотите использовать пользовательскую реализацию, как пример

public function countCodeMarche()
{
    return $this->createQueryBuilder('d')
        ->select('count(d.codeMarche) as count')
        ->getQuery()
        ->getSingleScalarResult();
}

Это вернет строку, и вы должны привести к int, если вам нужен другой тип.

0 голосов
/ 18 марта 2019

Вы можете сделать это с помощью следующего кода:

public function hom(MarcheDAORepository $repo){
   $items = $repo->findAll();
   $count=count($items);
    return $this->render('index/home.html.twig', ['nbrDAO'=>$count]);
}
...