* static $indexes = array( * 'SearchFields' => 'fulltext(Name, Title, Description)' * ); * * * @package framework * @subpackage search */ class FulltextFilter extends SearchFilter { protected function applyOne(DataQuery $query) { return $query->where(sprintf( "MATCH (%s) AGAINST ('%s')", $this->getDbName(), Convert::raw2sql($this->getValue()) )); } protected function excludeOne(DataQuery $query) { return $query->where(sprintf( "NOT MATCH (%s) AGAINST ('%s')", $this->getDbName(), Convert::raw2sql($this->getValue()) )); } public function isEmpty() { return $this->getValue() === array() || $this->getValue() === null || $this->getValue() === ''; } }