Наследование: extends Filter, implements Ublaboo\DataGrid\Filter\IFilterDate
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = \DateTime::createFromFormat($filter->getPhpFormat(), $conditions[$filter->getColumn()]);
     $ymd = $date->format('Ymd');
     $this->data_source->where('CONVERT(varchar(10), %n, 112) = ?', $filter->getColumn(), $ymd);
 }
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     foreach ($filter->getCondition() as $column => $value) {
         $date = \DateTime::createFromFormat($filter->getPhpFormat(), $value)->format('Y-m-d H:i:s');
         $from = Criteria::expr()->gte($filter->getColumn(), $date->format('Y-m-d 00:00:00'));
         $to = Criteria::expr()->lte($filter->getColumn(), $date->format('Y-m-d 23:59:59'));
         $this->criteria->andWhere($from)->andWhere($to);
     }
 }
Пример #3
0
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return static
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     foreach ($filter->getCondition() as $column => $value) {
         $date = \DateTime::createFromFormat($filter->getPhpFormat(), $value);
         $date_end = clone $date;
         $this->data_source = $this->data_source->findBy([$this->prepareColumn($column) . '>=' => $date->setTime(0, 0, 0), $this->prepareColumn($column) . '<=' => $date_end->setTime(23, 59, 59)]);
     }
     return $this;
 }
Пример #4
0
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return static
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     foreach ($filter->getCondition() as $column => $value) {
         $date = \DateTime::createFromFormat($filter->getPhpFormat(), $value);
         $date_end = clone $date;
         $this->data_source->getQueryBuilder()->andWhere("%column >= %dt", $column, $date->setTime(0, 0, 0))->andWhere("%column <= %dt", $column, $date_end->setTime(23, 59, 59));
     }
     return $this;
 }
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     foreach ($filter->getCondition() as $column => $value) {
         $date = DateTimeHelper::tryConvertToDateTime($value, [$filter->getPhpFormat()]);
         $from = Criteria::expr()->gte($filter->getColumn(), $date->format('Y-m-d 00:00:00'));
         $to = Criteria::expr()->lte($filter->getColumn(), $date->format('Y-m-d 23:59:59'));
         $this->criteria->andWhere($from)->andWhere($to);
     }
 }
Пример #6
0
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = \DateTime::createFromFormat($filter->getPhpFormat(), $conditions[$filter->getColumn()]);
     $this->data_source->where('DATE(%n) = ?', $filter->getColumn(), $date->format('Y-m-d'));
 }
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = DateTimeHelper::tryConvertToDateTime($conditions[$filter->getColumn()], [$filter->getPhpFormat()]);
     $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) = ?", $date->format('Ymd'));
 }
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = DateTimeHelper::tryConvertToDateTime($conditions[$filter->getColumn()], [$filter->getPhpFormat()]);
     $this->data_source->where("DATE({$filter->getColumn()}) = ?", $date->format('Y-m-d'));
 }
Пример #9
0
 /**
  * Apply fitler date and tell whether row value matches or not
  * @param  mixed  $row
  * @param  Filter $filter
  * @return mixed
  */
 protected function applyFilterDate($row, FilterDate $filter)
 {
     $format = $filter->getPhpFormat();
     $condition = $filter->getCondition();
     foreach ($condition as $column => $value) {
         $row_value = $row[$column];
         $date = DateTimeHelper::tryConvertToDateTime($value, [$format]);
         if (!$row_value instanceof \DateTime) {
             /**
              * Try to convert string to DateTime object
              */
             try {
                 $row_value = DateTimeHelper::tryConvertToDateTime($row_value);
             } catch (DataGridDateTimeHelperException $e) {
                 /**
                  * Otherwise just return raw string
                  */
                 return FALSE;
             }
         }
         return $row_value->format($format) == $date->format($format);
     }
 }
 /**
  * Filter by date
  * @param  Filter\FilterDate $filter
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = \DateTime::createFromFormat($filter->getPhpFormat(), $conditions[$filter->getColumn()]);
     $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) = ?", $date->format('Y-m-d'));
 }
Пример #11
0
 /**
  * Filter by date
  * @param Filter\FilterDate  $filter
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $p1 = $this->getPlaceholder();
     $p2 = $this->getPlaceholder();
     foreach ($filter->getCondition() as $column => $value) {
         $date = \DateTime::createFromFormat($filter->getPhpFormat(), $value);
         $c = $this->checkAliases($column);
         $this->data_source->andWhere("{$c} >= ?{$p1}")->andWhere("{$c} <= ?{$p2}")->setParameter($p1, $date->format('Y-m-d 00:00:00'))->setParameter($p2, $date->format('Y-m-d 23:59:59'));
     }
 }
Пример #12
0
 /**
  * Filter by date
  *
  * @param  Filter\FilterDate $filter
  *
  * @return void
  */
 public function applyFilterDate(Filter\FilterDate $filter)
 {
     $conditions = $filter->getCondition();
     $date = \DateTime::createFromFormat($filter->getPhpFormat(), $conditions[$filter->getColumn()]);
     $this->filter["DATE({$filter->getColumn()}) = ?"] = $date->format('Y-m-d');
 }