Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }