/** * 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); }