public function applyFilter($model, $value) { if (!is_array($value)) { return $model->filterEqual($this->name, "{$value}"); } elseif (!empty($value['from']) || !empty($value['to'])) { if (!empty($value['from'])) { $model->filterGtEqual($this->name . '+0', $value['from']); } if (!empty($value['to'])) { $model->filterLtEqual($this->name . '+0', $value['to']); } return $model; } return parent::applyFilter($model, $value); }
public function applyFilter($model, $value) { if (!is_array($value)) { return parent::applyFilter($model, $value); } if (!empty($value['from']) || !empty($value['to'])) { if (!empty($value['from'])) { $from = intval($value['from']); $model->filterDateOlder($this->name, $from, $this->getOption('range')); } if (!empty($value['to'])) { $to = intval($value['to']); $model->filterDateYounger($this->name, $to, $this->getOption('range')); } return $model; } return parent::applyFilter($model, $value); }
public function applyFilter($model, $value) { if (!is_array($value) || !empty($value['date'])) { if (!empty($value['date'])) { $value = sprintf('%s %02d:%02d', $value['date'], $value['hours'], $value['mins']); } $date_start = date('Y-m-d', strtotime($value)); $date_final = date('Y-m-d', strtotime($value) + 60 * 60 * 24); return $model->filterBetween($this->name, $date_start, $date_final); } elseif (!empty($value['from']) || !empty($value['to'])) { if (!empty($value['from'])) { $model->filterGtEqual($this->name, date('Y-m-d', strtotime($value['from']))); } if (!empty($value['to'])) { $model->filterLtEqual($this->name, date('Y-m-d', strtotime($value['to']) + 60 * 60 * 24)); } return $model; } return parent::applyFilter($model, $value); }
public function applyFilter($model, $values) { if (!is_array($values)) { return parent::applyFilter($model, $values); } $filter = $this->parseValue($values); if (!$filter) { return parent::applyFilter($model, $values); } $filter = str_replace('0', '_', $filter) . '%'; return $model->filterLike($this->name, $filter); }