public function testGetRootEqualsValueIfSetIfUnpersisted()
 {
     $parent = Category::roots()->first();
     $child = new Category();
     $child->setAttribute($child->getParentColumnName(), $parent->getKey());
     $this->assertEquals($child->getRoot(), $parent);
 }
 public function testRebuildPresevesRootNodes()
 {
     $root1 = Category::create(array('name' => 'Test Root 1'));
     $root2 = Category::create(array('name' => 'Test Root 2'));
     $root3 = Category::create(array('name' => 'Test Root 3'));
     $root2->makeChildOf($root1);
     $root3->makeChildOf($root1);
     $lastRoot = Category::roots()->reOrderBy($root1->getLeftColumnName(), 'desc')->first();
     Category::query()->update(array('lft' => null, 'rgt' => null));
     Category::rebuild();
     $this->assertEquals($lastRoot, Category::roots()->reOrderBy($root1->getLeftColumnName(), 'desc')->first());
 }
Example #3
0
 public function renderCategoryHTMLTree()
 {
     $roots = \Category::roots()->get();
     $table = '<table>';
     foreach ($roots as $root) {
         if (!\Auth::check()) {
             if ($root->status == 1) {
                 $table .= self::renderNodeHTMLTree($root);
             }
         } else {
             $table .= self::renderNodeHTMLTree($root);
         }
     }
     $table .= '</table>';
     return $table;
 }