/**
  * @param Filter $filter
  * @return void
  */
 public function __construct($filter)
 {
     $this->filter = $filter;
     foreach ($this->filter->getPersistentParams() as $param) {
         $annotations = self::getAnnotations($this->filter, $param);
         $column = isset($annotations['column'][0]) ? $annotations['column'][0] : $param;
         $value = $this->filter->{$param};
         if (isset($annotations['var'][0]) && $annotations['var'][0] === '\\DateTime') {
             $value = new \DateTime($value);
         }
         $this->parameters[$param] = array('column' => $column, 'value' => $this->filter->{$param}, 'name' => $annotations['name'][0], 'where' => $this->buildWhere($annotations['operator'][0], $column, $value));
     }
 }
Example #2
0
 /**
  * @param Filter $filter
  * @param VisualPaginator $visualPaginator
  * @param Sort $sort
  * @param array $where
  * @return ActiveRow[]
  */
 public function getAll(Filter $filter = NULL, VisualPaginator $visualPaginator = NULL, Sort $sort = NULL, $where = NULL)
 {
     $out = $this->getTable();
     if ($where) {
         $out->where($where);
     }
     if ($filter) {
         $out->where($filter->getWhere());
     }
     if ($visualPaginator) {
         $this->addPaginator($out, $visualPaginator->getPaginator());
     }
     if ($sort && ($order = $sort->getOrder())) {
         $out->order($order);
     }
     return $out->fetchAll();
 }