protected function _handle()
    {
        $request = $this->_request();
        $this->_configIndex($this->_table(), $request);
        $query = $this->_table()->find();
        $repository = $query->repository();

        $query->searchOptions(['ignore_unavailable' => true]);

        if ($request->query('type')) {
            $repository->name($request->query('type'));
        }

        if ($request->query('primary_key')) {
            $query->where(['primary_key' => $request->query('primary_key')]);
        }

        if ($request->query('transaction')) {
            $query->where(['transaction' => $request->query('transaction')]);
        }

        if ($request->query('user')) {
            $query->where(['meta.user' => $request->query('user')]);
        }

        if ($request->query('changed_fields')) {
            $query->where(function ($builder) use ($request) {
                $fields = explode(',', $request->query('changed_fields'));
                $fields = array_map(function ($f) { return 'changed.' . $f; }, array_map('trim', $fields));
                $fields = array_map([$builder, 'exists'], $fields);
                return $builder->and_($fields);
            });
        }

        if ($request->query('query')) {
            $query->where(function ($builder) use ($request) {
                return $builder->query(new \Elastica\Query\QueryString($request->query('query')));
            });
        }

        try {
            $this->addTimeConstraints($request, $query);
        } catch (\Exception $e) {
        }

        $subject = $this->_subject(['success' => true, 'query' => $query]);
        $this->_trigger('beforePaginate', $subject);

        $items = $this->_controller()->paginate($subject->query);
        $subject->set(['entities' => $items]);

        $this->_trigger('afterPaginate', $subject);
        $this->_trigger('beforeRender', $subject);
    }
protected function _handle()
    {
        $request = $this->_request();
        $this->_configIndex($this->_table(), $request);
        $query = $this->_table()->find();
        $repository = $query->repository();

        $query->searchOptions(['ignore_unavailable' => true]);

        if ($request->query('type')) {
            $repository->name($request->query('type'));
        }

        if ($request->query('primary_key')) {
            $query->where(['primary_key' => $request->query('primary_key')]);
        }

        if ($request->query('transaction')) {
            $query->where(['transaction' => $request->query('transaction')]);
        }

        if ($request->query('user')) {
            $query->where(['meta.user' => $request->query('user')]);
        }

        if ($request->query('changed_fields')) {
            $query->where(function ($builder) use ($request) {
                $fields = explode(',', $request->query('changed_fields'));
                $fields = array_map(function ($f) { return 'changed.' . $f; }, array_map('trim', $fields));
                $fields = array_map([$builder, 'exists'], $fields);
                return $builder->and_($fields);
            });
        }

        if ($request->query('query')) {
            $query->where(function ($builder) use ($request) {
                return $builder->query(new \Elastica\Query\QueryString($request->query('query')));
            });
        }

        try {
            $this->addTimeConstraints($request, $query);
        } catch (\Exception $e) {
        }

        $subject = $this->_subject(['success' => true, 'query' => $query]);
        $this->_trigger('beforePaginate', $subject);

        $items = $this->_controller()->paginate($subject->query);
        $subject->set(['entities' => $items]);

        $this->_trigger('afterPaginate', $subject);
        $this->_trigger('beforeRender', $subject);
    }
protected function _handle ( ) { $ request = $ this -> _request ( ) ; $ this -> _configIndex ( $ this -> _table ( ) , $ request ) ; $ query = $ this -> _table ( ) -> find ( ) ; $ repository = $ query -> repository ( ) ; $ query -> searchOptions ( [ 'ignore_unavailable' => true ] ) ; if ( $ request -> query ( 'type' ) ) { $ repository -> name ( $ request -> query ( 'type' ) ) ; } if ( $ request -> query ( 'primary_key' ) ) { $ query -> where ( [ 'primary_key' => $ request -> query ( 'primary_key' ) ] ) ; } if ( $ request -> query ( 'transaction' ) ) { $ query -> where ( [ 'transaction' => $ request -> query ( 'transaction' ) ] ) ; } if ( $ request -> query ( 'user' ) ) { $ query -> where ( [ 'meta.user' => $ request -> query ( 'user' ) ] ) ; } if ( $ request -> query ( 'changed_fields' ) ) { $ query -> where ( function ( $ builder ) use ( $ request ) { $ fields = explode ( ',' , $ request -> query ( 'changed_fields' ) ) ; $ fields = array_map ( function ( $ f ) { return 'changed.' . $ f ; } , array_map ( 'trim' , $ fields ) ) ; $ fields = array_map ( [ $ builder , 'exists' ] , $ fields ) ; return $ builder -> and_ ( $ fields ) ; } ) ; } if ( $ request -> query ( 'query' ) ) { $ query -> where ( function ( $ builder ) use ( $ request ) { return $ builder -> query ( new \ Elastica \ Query \ QueryString ( $ request -> query ( 'query' ) ) ) ; } ) ; } try { $ this -> addTimeConstraints ( $ request , $ query ) ; } catch ( \ Exception $ e ) { } $ subject = $ this -> _subject ( [ 'success' => true , 'query' => $ query ] ) ; $ this -> _trigger ( 'beforePaginate' , $ subject ) ; $ items = $ this -> _controller ( ) -> paginate ( $ subject -> query ) ; $ subject -> set ( [ 'entities' => $ items ] ) ; $ this -> _trigger ( 'afterPaginate' , $ subject ) ; $ this -> _trigger ( 'beforeRender' , $ subject ) ; }
Renders the index action by searching all documents matching the URL conditions.

@return void
Renders the index action by searching all documents matching the URL conditions .