Example #1
0
 /**
  * @param array $params
  * @return $this
  */
 public function process(array $params = [])
 {
     $filter = $params['filter'];
     $order = $params['order'];
     if (count($filter) > 0) {
         foreach ($filter as $column => $conditions) {
             foreach ($conditions as $criterion => $value) {
                 if (Mapper::MAPPER_LIKE === $criterion || Mapper::MAPPER_NOT_LIKE === $criterion) {
                     $value = addslashes(preg_replace('/[^а-яa-z0-9_\\.]+/ui', '', $value));
                     $criterion = static::$criteria[$criterion];
                     $this->query->whereRaw("`{$column}` {$criterion} '%{$value}%'");
                 } else {
                     $this->query->where($column, $value, static::$criteria[$criterion]);
                 }
             }
         }
     }
     if (count($order) > 0) {
         foreach ($order as $column => $vector) {
             $this->query->order($column, $vector);
         }
     }
     return $this;
 }
Example #2
0
 /**
  * @return bool|int
  */
 public function delete()
 {
     $this->beforeDelete();
     $query = new QueryBuilder($this);
     $result = $this->exists() ? $query->delete() : 0;
     $this->afterDelete();
     return $result;
 }