Esempio n. 1
0
 function withParameters(&$repository)
 {
     $_REQUEST['name'] = 'Jim';
     $_SERVER['REQUEST_URI'] = '/api/test';
     switch ($_SERVER['REQUEST_METHOD']) {
         case 'GET':
             $repository->query(Format::stripWhitespace("SELECT *\n                    FROM test\n                    WHERE name=:name"), ['name' => 'Jim'], true)->willReturn(['test_id' => 1, 'name' => 'Jim', 'role' => 'sorter']);
             break;
     }
     return $this;
 }
Esempio n. 2
0
 public function build()
 {
     $join = implode('', $this->join);
     $where = !empty($this->where) ? implode('', $this->where) : '';
     $order = !empty($this->order) ? implode(',', $this->order) : '';
     $limit = !empty($this->limit) ? $this->limit : '';
     switch ($this->verb) {
         case 'SELECT':
             return trim(Format::stripWhitespace("SELECT * FROM {$this->table} {$join} {$where} {$order} {$limit}"));
     }
 }
Esempio n. 3
0
 private function buildGetSQL($table)
 {
     $cols = $this->getCols();
     $sql = "SELECT {$cols}\n            FROM {$table}";
     $params = array();
     if (isset($this->id)) {
         $sql .= " WHERE {$table}_id=:id";
         $params['id'] = $this->id;
     } else {
         if (!empty($this->parameters)) {
             $sql .= " WHERE ";
             $first = true;
             foreach ($this->parameters as $key => $value) {
                 if (!$first) {
                     $sql .= " AND ";
                 } else {
                     $first = false;
                 }
                 $sql .= $key;
                 if (is_array($value)) {
                     $sql .= ' IN (' . implode(',', $value) . ')';
                 } else {
                     $sql .= '=:' . $key;
                     $params[$key] = $value;
                 }
             }
         }
     }
     return array('sql' => Format::stripWhitespace($sql), 'params' => $params);
 }