processFilters() protected method

Internal method that runs the individual key/value input through the QueryParameterParser. This allows complicated expressions to be turned into simple sql expressions
protected processFilters ( )
Exemplo n.º 1
0
 /**
  * This overrides the SelectQuery default to do some extra preparation for a search query.
  * Firstly it builds separate filters for the search query and then it removes the filter
  * from the params and the others will then get processed normally by the parent.
  */
 protected function processFilters()
 {
     if (!$this->contentType) {
         throw new QueryParseException('You have attempted to run a search query without specifying a ContentType', 1);
     }
     if (!($config = $this->config->getConfig($this->contentType))) {
         throw new QueryParseException('You have attempted to run a search query on an unknown ContentType or one that is not searchable', 1);
     }
     $params = $this->params;
     unset($params['filter']);
     foreach ($config as $field => $options) {
         $params[$field] = $this->getSearchParameter();
     }
     $this->params = $params;
     parent::processFilters();
 }