/** * Create a tree of all branches * * @param array $branches * @return Illuminate\Support\Collection */ public function all(array $branches = []) { $datastores = $this->cobra5->getStores(); foreach ($datastores as $datastore) { $datastore = $this->hydrateRoots($datastore); } if (in_array('categories', $branches)) { foreach ($datastores as $datastore) { $datastore = $this->hydrateParents($datastore); } foreach ($datastores as $datastore) { foreach ($datastore->categories() as $category) { $category = $this->hydrateChildren($category); } } } if (in_array('documents', $branches)) { foreach ($datastores as $datastore) { foreach ($datastore->categories() as $category) { $category = $this->hydrateDocuments($category); } } } return $datastores; }
/** * Create a tree of all branches * * @param array $selected * @param array $branches * @return Illuminate\Support\Collection */ public function all(array $selected, array $branches = []) { $results = $this->cobra5->getStores(); $datastores = []; foreach ($results as $result) { if (in_array($result->name, $selected)) { $datastores[] = $result; } } foreach ($datastores as $datastore) { $datastore = $this->hydrateRoots($datastore); } foreach ($datastores as $datastore) { $datastore = $this->hydrateParents($datastore); } $categories = new Collection(); foreach ($datastores as $datastore) { foreach ($datastore->categories() as $category) { $categories->put($category->id, $category); } } foreach ($categories as $category) { $category = $this->hydrateChildren($category); } if (in_array('documents', $branches)) { foreach ($categories as $category) { $category = $this->hydrateDocuments($category); } } return $categories; }