示例#1
0
 /**
  * 
  * @return 
  */
 public function get()
 {
     // Disable strictness on model
     $this->model->setStrict(BaseSchema::STRICT_NONE);
     // handle stubs, if requested
     if ($this->request->params('stub')) {
         $data = $this->model->stub($this->request->params('stubType'));
         foreach ($data as $key => $row) {
             $data[$key] = $this->model->filter($row);
         }
         return $this->model->filter($data);
     }
     // parse the query string
     $this->parseQueryString();
     // Extract the data from the parseResult.
     // Set as separate methods so that subclasses can selectively
     // override
     $conditions = $this->getFindConditions();
     $fields = $this->getFindFields();
     $sort = $this->getFindSort();
     $limit = $this->getFindLimit();
     $skip = $this->getFindSkip();
     $misc = $this->getFindMisc();
     $field = $this->request->params('distinctCount');
     // a field name
     if ($field) {
         return $this->handleDistinctCount($field, $conditions, $misc);
     }
     $findResult = $this->model->find($conditions, $fields, $sort, $limit, $skip, $misc);
     $metaResult = [];
     if ($this->request->params('count')) {
         $metaResult['_meta']['count'] = $this->model->count($conditions);
     }
     // Pass to model for processing
     return array_merge($findResult, $metaResult);
 }