/** * Display a listing of categories and the category members (parent-children) and their social media. * * @return Response */ public function index($slug) { // get links in footer $linksArr = \App\Links::orderBy('rank', 'ASC')->lists('link', 'name'); if ($slug != 'all') { $catObj = Category::whereSlug($slug)->first(); if (is_null($catObj)) { \Session::flash('message', 'Invalid category'); return redirect('/socialmedia/all'); } $catPathArr = $catObj->getCategoryPath($slug); $catArr = $catObj->getChildren($catObj->id); } else { $catPathArr = array(); $catObj = new Category(); $catArr = $catObj->getParents(); } $getChildren = $this->getChildrenBool($catPathArr, $slug, $catObj); // eg. get the teammates on the Lakers, don't get teams in the Pacific Coast division if ($getChildren) { $memberArr = $this->memberObj->getMembersWithinSingleCategory($catObj->id); list($memberArr, $contentArr) = $this->memberSocialObj->getSocialMediaWithMemberIds($memberArr); return view('socialmedia.child', compact('memberArr', 'contentArr', 'catPathArr', 'linksArr')); } else { $parentArr['contentArr'] = []; foreach ($catArr as $catId => $catName) { $memberArr = $this->memberObj->getMembersWithinSingleCategory($catId); $tmpMemberArr = array($memberArr[0]); list(, $contentArr) = $this->memberSocialObj->getSocialMediaWithMemberIds($tmpMemberArr); $parentArr['memberArr'][$catId] = $memberArr; $parentArr['contentArr'] = $parentArr['contentArr'] + $contentArr; } return view('socialmedia.parent', compact('parentArr', 'catArr', 'catPathArr', 'linksArr')); } }
/** * Show the form for editing the specified resource. * * @param int Categories $category * @return Response */ public function edit(Category $category) { $parentIdNameArr = Category::getParents(); $selectedParentIdNameArr = CategoryParentAndChildren::getSelectedParentIdNameArr($category->id); $ddArr = CategoryParentAndChildren::makeDDArr($parentIdNameArr, $selectedParentIdNameArr, $category->id); return view('categories.edit', compact('category', 'ddArr', 'selectedParentIdNameArr')); }
public function getHierarchy() { $parentChildArr = array(); $categoryModel = new Category(); $parentArr = $categoryModel->getParents(); foreach ($parentArr as $id => $name) { //$parentChildArr[] = array('parent_id' => 0, 'child_id' => $id); } $categoriesParentAndChildrenArr = $this->all(); foreach ($categoriesParentAndChildrenArr as $key => $obj) { $tmp = $obj->getAttributes(); $parentChildArr[] = array('parent_id' => $tmp['parent_id'], 'child_id' => $tmp['child_id']); } $tree = $this->buildTree($parentChildArr); return $tree; }
/** * Display the specified resource. * * @param int Categories $category * @return Response */ public function show(Category $categoryObj) { $parentCatArr = $categoryObj->getParents(); return view('categories.show', compact('categoryObj', 'parentCatArr')); }