public function get($id = null) { $request = CoreApp::getRequest(); $selectTable = QueryBase::tableizeModelName($this->modelClass); $parsedResources = $this->parseResources($request->getResourceArray()); $queryBase = new QueryBase($this->modelClass); $constraint = new Constraints(); if (empty($id)) { $resourceArray = $request->getResourceArray(); $id = $resourceArray[count($resourceArray) - 1]; } $queryBase->Select(); if (!empty($parsedResources['joins'])) { $joinsArray = array_map("core\\Inflector::tableize", $parsedResources['joins']); $queryBase->Join($joinsArray); } $constraint->term("{$selectTable}" . ".id", "=", $id); if (!empty($parsedResources['constraints'])) { foreach ($parsedResources['constraints'] as $kv) { $table = Inflector::tableize($kv->resource) . ".id"; $value = $kv->value; $constraint->andTerm($table, "=", $value); } } $queryBase->Where($constraint); $sql = $queryBase->getSelect(); $bindValues = $queryBase->getBindValues(); if ($this->query($sql, $bindValues)) { return $this->getResultsSet(); } return false; }
protected function __construct() { parent::__construct(); }