protected function searchAction()
    {
        $this->dispatch(EasyAdminEvents::PRE_SEARCH);

        $query = \trim($this->request->query->get('query'));
        // if the search query is empty, redirect to the 'list' action
        if ('' === $query) {
            $queryParameters = \array_replace($this->request->query->all(), ['action' => 'list']);
            unset($queryParameters['query']);

            return $this->redirect($this->get('router')->generate('easyadmin', $queryParameters));
        }

        $searchableFields = $this->entity['search']['fields'];
        $defaultSortField = $this->entity['search']['sort']['field'] ?? null;
        $defaultSortDirection = isset($this->entity['search']['sort']['direction']) ? $this->entity['search']['sort']['direction'] : null;
        $paginator = $this->findBy(
            $this->entity['class'],
            $query,
            $searchableFields,
            $this->request->query->get('page', 1),
            $this->entity['list']['max_results'],
            $this->request->query->get('sortField', $defaultSortField),
            $this->request->query->get('sortDirection', $defaultSortDirection),
            $this->entity['search']['dql_filter']
        );
        $fields = $this->entity['list']['fields'];

        $this->dispatch(EasyAdminEvents::POST_SEARCH, [
            'fields' => $fields,
            'paginator' => $paginator,
        ]);

        $parameters = [
            'paginator' => $paginator,
            'fields' => $fields,
            'batch_form' => $this->createBatchForm($this->entity['name'])->createView(),
            'delete_form_template' => $this->createDeleteForm($this->entity['name'], '__id__')->createView(),
        ];

        return $this->executeDynamicMethod('render<EntityName>Template', ['search', $this->entity['templates']['list'], $parameters]);
    }
protected function searchAction()
    {
        $this->dispatch(EasyAdminEvents::PRE_SEARCH);

        $query = \trim($this->request->query->get('query'));
        // if the search query is empty, redirect to the 'list' action
        if ('' === $query) {
            $queryParameters = \array_replace($this->request->query->all(), ['action' => 'list']);
            unset($queryParameters['query']);

            return $this->redirect($this->get('router')->generate('easyadmin', $queryParameters));
        }

        $searchableFields = $this->entity['search']['fields'];
        $defaultSortField = $this->entity['search']['sort']['field'] ?? null;
        $defaultSortDirection = isset($this->entity['search']['sort']['direction']) ? $this->entity['search']['sort']['direction'] : null;
        $paginator = $this->findBy(
            $this->entity['class'],
            $query,
            $searchableFields,
            $this->request->query->get('page', 1),
            $this->entity['list']['max_results'],
            $this->request->query->get('sortField', $defaultSortField),
            $this->request->query->get('sortDirection', $defaultSortDirection),
            $this->entity['search']['dql_filter']
        );
        $fields = $this->entity['list']['fields'];

        $this->dispatch(EasyAdminEvents::POST_SEARCH, [
            'fields' => $fields,
            'paginator' => $paginator,
        ]);

        $parameters = [
            'paginator' => $paginator,
            'fields' => $fields,
            'batch_form' => $this->createBatchForm($this->entity['name'])->createView(),
            'delete_form_template' => $this->createDeleteForm($this->entity['name'], '__id__')->createView(),
        ];

        return $this->executeDynamicMethod('render<EntityName>Template', ['search', $this->entity['templates']['list'], $parameters]);
    }
protected function searchAction ( ) { $ this -> dispatch ( EasyAdminEvents :: PRE_SEARCH ) ; $ query = \ trim ( $ this -> request -> query -> get ( 'query' ) ) ; // if the search query is empty, redirect to the 'list' action if ( '' === $ query ) { $ queryParameters = \ array_replace ( $ this -> request -> query -> all ( ) , [ 'action' => 'list' ] ) ; unset ( $ queryParameters [ 'query' ] ) ; return $ this -> redirect ( $ this -> get ( 'router' ) -> generate ( 'easyadmin' , $ queryParameters ) ) ; } $ searchableFields = $ this -> entity [ 'search' ] [ 'fields' ] ; $ defaultSortField = $ this -> entity [ 'search' ] [ 'sort' ] [ 'field' ] ?? null ; $ defaultSortDirection = isset ( $ this -> entity [ 'search' ] [ 'sort' ] [ 'direction' ] ) ? $ this -> entity [ 'search' ] [ 'sort' ] [ 'direction' ] : null ; $ paginator = $ this -> findBy ( $ this -> entity [ 'class' ] , $ query , $ searchableFields , $ this -> request -> query -> get ( 'page' , 1 ) , $ this -> entity [ 'list' ] [ 'max_results' ] , $ this -> request -> query -> get ( 'sortField' , $ defaultSortField ) , $ this -> request -> query -> get ( 'sortDirection' , $ defaultSortDirection ) , $ this -> entity [ 'search' ] [ 'dql_filter' ] ) ; $ fields = $ this -> entity [ 'list' ] [ 'fields' ] ; $ this -> dispatch ( EasyAdminEvents :: POST_SEARCH , [ 'fields' => $ fields , 'paginator' => $ paginator , ] ) ; $ parameters = [ 'paginator' => $ paginator , 'fields' => $ fields , 'batch_form' => $ this -> createBatchForm ( $ this -> entity [ 'name' ] ) -> createView ( ) , 'delete_form_template' => $ this -> createDeleteForm ( $ this -> entity [ 'name' ] , '__id__' ) -> createView ( ) , ] ; return $ this -> executeDynamicMethod ( 'render<EntityName>Template' , [ 'search' , $ this -> entity [ 'templates' ] [ 'list' ] , $ parameters ] ) ; }
The method that is executed when the user performs a query on an entity.

@return Response
The method that is executed when the user performs a query on an entity .