*/ class TextFilter { use FilterTrait; public function buildProperty(FormBuilderInterface $builder, FieldDto $fieldDto, $options = array()) { $builder->add( str_replace('.', '_', $fieldDto->getProperty()), TextType::class, array( 'required' => false, 'attr' => array( 'class' => ' input-sm', 'form' => 'filters-form', ), ) ); } public function applyFilter(RepositoryQueryInterface $repositoryQuery, FieldDto $fieldDto, string $filteredValue = null) { $fieldProperty = $this->getFieldProperty($fieldDto); if ($filteredValue !== null) { // if ($this->isRelationField($fieldProperty)) { // // $aliasRelation = $this->getFieldPropertyRelationAlias($fieldProperty); // if (array_search($aliasRelation, $repositoryQuery->getAllAliases()) === false) { // $repositoryQuery->innerJoin('entity.' . $aliasRelation, $aliasRelation); // } // $repositoryQuery->andWhere( // $fieldProperty . ' LIKE :' . $this->getFieldPropertySnake($fieldProperty) . '' // ); // $repositoryQuery->setParameter( // $this->getFieldPropertySnake($fieldProperty), // '%' . $filteredValue . '%' // ); // } else { $repositoryQuery->andWhere( '.' . $fieldProperty . ' LIKE :' . $fieldProperty . '' ); $repositoryQuery->setParameter($fieldProperty, '%' . $filteredValue . '%'); } } }