/** * @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)); } }
/** * @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(); }