MetaModels\Filter\Setting\CustomSql::prepareRules PHP Метод

prepareRules() публичный Метод

public prepareRules ( MetaModels\Filter\IFilter $objFilter, $arrFilterUrl )
$objFilter MetaModels\Filter\IFilter
    public function prepareRules(IFilter $objFilter, $arrFilterUrl)
    {
        $this->filterParameters = $arrFilterUrl;
        $this->queryString = $this->get('customsql');
        $this->queryParameter = array();
        $objFilter->addFilterRule($this->getFilterRule());
        unset($this->filterParameters);
        unset($this->queryString);
        unset($this->queryParameter);
    }

Usage Example

Пример #1
0
 /**
  * Internal convenience method to the generating method and to extract the values from the filter rule..
  *
  * @param CustomSql $instance  The instance.
  *
  * @param array     $filterUrl The filter url to process.
  *
  * @return mixed
  */
 protected function generateSql($instance, $filterUrl = array())
 {
     $filter = new Filter($instance->getMetaModel());
     $instance->prepareRules($filter, $filterUrl);
     $reflection = new \ReflectionProperty($filter, 'arrFilterRules');
     $reflection->setAccessible(true);
     $rules = $reflection->getValue($filter);
     $reflection = new \ReflectionProperty('MetaModels\\Filter\\Rules\\SimpleQuery', 'strQueryString');
     $reflection->setAccessible(true);
     $sql = $reflection->getValue($rules[0]);
     $reflection = new \ReflectionProperty('MetaModels\\Filter\\Rules\\SimpleQuery', 'arrParams');
     $reflection->setAccessible(true);
     $params = $reflection->getValue($rules[0]);
     return array('sql' => $sql, 'params' => $params);
 }