/** * parse * Parse fields criteria and order * @param array $criteria * @param array $order * @access public * @return void */ public function parse(array $criteria, array $orderBy = array(), $limit = null, $offset = null) { $statement = new Expr\Statement(); if (!empty($criteria)) { $statement->setClause('condition', $this->parseCriteria($criteria)); } if (!empty($orderBy)) { $statement->setClause('order', $this->parseOrderBy($orderBy)); } if ($limit) { $statement->setClause('limit', $this->parseLimit($limit)); } if ($offset) { $statement->setClause('offset', $this->parseOffset($offset)); } return new Query($statement, $this->persister); }
/** * parseComonents * * @param array $queryComponents * @access public * @return void */ public function parseHttpQueryComponents(array $queryComponents = array()) { $statement = new Statement(); foreach ($queryComponents as $key => $part) { $clause = $this->getClauseForHttpQueryKey($key); $statement->setClause($clause, $this->parseClause($part, $clause)); } return $statement; }