예제 #1
0
 protected function addDateQuery(Doctrine_Query $query, $field, $values)
 {
     if (is_array($values)) {
         parent::addDateQuery($query, $field, $values);
     } else {
         $fieldName = $this->getFieldName($field);
         switch ($values) {
             case null:
             case '':
                 break;
             case 'today':
                 $query->andWhere(sprintf('%s.%s >= ?', $this->getRootAlias($query, $fieldName), $fieldName), date('Y-m-d H:i:s', strtotime('-1 day')));
                 break;
             case 'week':
                 $query->andWhere(sprintf('%s.%s >= ?', $this->getRootAlias($query, $fieldName), $fieldName), date('Y-m-d H:i:s', strtotime('-1 week')));
                 break;
             case 'month':
                 $query->andWhere(sprintf('%s.%s >= ?', $this->getRootAlias($query, $fieldName), $fieldName), date('Y-m-d H:i:s', strtotime('-1 month')));
                 break;
             case 'year':
                 $query->andWhere(sprintf('%s.%s >= ?', $this->getRootAlias($query, $fieldName), $fieldName), date('Y-m-d H:i:s', strtotime('-1 year')));
                 break;
         }
     }
 }