Example #1
0
 public function testToTreeBuildsWithRootItemIdProvided()
 {
     $tree = Category::whereBetween('_lft', array(8, 17))->get()->toTree(5);
     $this->assertEquals(4, count($tree));
     $root = $tree[1];
     $this->assertEquals('samsung', $root->name);
     $this->assertEquals(1, count($root->children));
 }
 /**
  * Display all categories of all cities
  * GET /categories
  *
  * @return  Response
  */
 public function all()
 {
     $baseCategories = [1, 58];
     $user = Auth::user();
     $subscriptions = $user->subscriptions;
     $categories = Category::whereBetween('id', $baseCategories)->whereNull('parent_id')->with(['categories' => function ($query) {
         $query->orderBy('weight', 'desc')->orderBy('id');
     }])->orderBy('weight', 'desc')->orderBy('id')->get();
     if ($categories->isEmpty()) {
         return $this->respondNotFound('forum.no-categories');
     }
     $computedCategories = $user->subscriptions()->whereNotBetween('id', $baseCategories)->get();
     if ($computedCategories->count() != 0) {
         $myCarCategory = new Category(['title' => 'Моя машина']);
         $myCarCategory->id = 0;
         $myCarCategory->categories = $computedCategories;
         $categories->prepend($myCarCategory);
     }
     return $this->respond($this->collectionTransformer->transformCategories($categories, true, $subscriptions));
 }