private function createFilterQueryBuilder(FilterBag $filter) { $builder = $this->createQueryBuilder("g")->where('g.deletedAt IS NULL'); if ($filter->has('name')) { $builder->where("g.name = :name")->setParameter("name", $filter->get('name')); } return $builder; }
private function createFilterQueryBuilder(FilterBag $filter) { $builder = $this->createQueryBuilder("u")->where('u.deletedAt IS NULL')->leftJoin("u.groups", "g"); if ($filter->has('firstname')) { $builder->where("u.firstname = :firstname")->setParameter("firstname", $filter->get('firstname')); } if ($filter->has('lastname')) { $builder->andWhere("u.lastname = :lastname")->setParameter("lastname", $filter->get('lastname')); } if ($filter->has('username')) { $builder->andWhere("u.username = :username")->setParameter("username", $filter->get('username')); } if ($filter->has('personnelNumber')) { $builder->andWhere("u.personnelNumber = :personnelNumber")->setParameter("personnelNumber", $filter->get('personnelNumber')); } if ($filter->has('active')) { $builder->andWhere("u.active = :active")->setParameter("active", $filter->get('active')); } if ($filter->has('hasPasswordToken')) { if ($filter->get('hasPasswordToken')) { $builder->andWhere("u.passwordToken IS NOT NULL"); } else { $builder->andWhere("u.passwordToken IS NULL"); } } if ($filter->has('hasRegistrationToken')) { if ($filter->get('hasRegistrationToken')) { $builder->andWhere("u.registrationToken IS NOT NULL"); } else { $builder->andWhere("u.registrationToken IS NULL"); } } if ($filter->has('createdAt')) { $builder->andWhere("u.createdAt <= :date")->setParameter("date", $filter->get('createdAt')); } if ($filter->has('updatedAt')) { $builder->andWhere("u.updatedAt <= :date")->setParameter("date", $filter->get('updatedAt')); } return $builder; }