/** * */ public function findAll(\Gacela\DataSource\Query\Query $query, \Gacela\DataSource\Resource $resource, array $inherits, array $dependents) { if (!count($query->from) > 0) { $query->from($resource->getName(), array_keys($resource->getFields())); } return $this->query($resource, $query); }
protected function _buildFinder(\Gacela\DataSource\Query\Query $query, \Gacela\DataSource\Resource $resource, array $inherits, array $dependents) { $include_columns = false; if (count($query->from) == 0) { $query->from($resource->getName()); $include_columns = true; } foreach ($inherits as $relation) { $this->_buildJoin($relation, $query, 'inner', $include_columns); } foreach ($dependents as $relation) { $this->_buildJoin($relation, $query, 'left', $include_columns); } return $query; }