Example #1
0
 public function search($fields, $termString)
 {
     $condition = new self($this->database);
     $terms = preg_split('#(\\s+)#', $termString);
     $terms = array_filter($terms);
     if (!empty($fields) && !empty($terms)) {
         foreach ($terms as $term) {
             $innerCondition = new self($this->database);
             foreach ($fields as $field) {
                 $innerCondition->orLike($field, '[^A-Za-z0-9]' . $term . '%');
                 $innerCondition->orLike($field, $term . '%');
             }
             $condition->condition($innerCondition);
         }
         $this->condition($condition);
     } else {
         $this->raw('1 = 1');
     }
 }
Example #2
0
 public function search($fields, $termString)
 {
     $condition = new self($this->database);
     $terms = preg_split('#(\\s+)#', $termString);
     $terms = array_filter($terms);
     if (!empty($fields) && !empty($terms)) {
         foreach ($terms as $term) {
             $innerCondition = new self($this->database);
             foreach ($fields as $field) {
                 $innerCondition->orRegexp($field, '[[:<:]]' . preg_quote($term));
             }
             $condition->condition($innerCondition);
         }
         $this->condition($condition);
     } else {
         $this->raw('1 = 1');
     }
 }