Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$leadFormFilterEntity = new LeadFormFilterEntity($this->getClock());
$formFilter = $this->createForm(LeadFilterType::class, $leadFormFilterEntity);
$formFilter->handleRequest($request);
$pagination = $this->getPaginator()->paginate(
$leadsRepository->getList($leadFormFilterEntity),
$request->query->get('page', 1),
self::PER_PAGE
);
public function getList(LeadFormFilterEntity $leadFormFilterEntity)
{
return new ClosureQuery(
function () use ($leadFormFilterEntity) {
$query = $this
->getQueryBuilder()
->select('COUNT(abstractLead)');
$this->applyFilter($leadFormFilterEntity, $query);
private function applyFilter(LeadFormFilterEntity $leadFormFilterEntity, QueryBuilder $query)
{
if ($leadFormFilterEntity->getLanding()) {
$query
->andWhere('abstractLead.landing = :landing')
->setParameter('landing', $leadFormFilterEntity->getLanding());
}
meet.startDate <= '2017-01-31 00:00:00'
LexikFormFilterBundle, создаем фильтрующие формы еще быстрее