在Laravel 5中创建一个类别列表及其子目录

时间:2015-12-02 16:21:48

标签: php laravel laravel-5

我有三个表作为category,subcategory和subcategory_category,我用它来存储其他表的外键

我想显示一个包含类别和子类别的列表,例如:

  • 类别1

    • 子类别1
    • subcategory2
  • 类别2

    • subcategory3
    • subcategory4

我试过这个但是不行

在我的控制器中:

$mycategories = SubcategoriesCategories::with('parent')->with('children2')->get();

并在模型中:

class SubcategoriesCategories extends Model  {
    protected $table = 'subcategories_to_categories';
    public function parent()
    {
        return $this->belongsTo('App\categories', 'categories_id');
    }

    public function children2()
    {
        return $this->belongsTo('App\subcategories', 'subcategories_id');
    }
}

在mysubcategories_categories表中我有: enter image description here

2 个答案:

答案 0 :(得分:0)

对于儿童操作,您可以使用嵌套集技术,有一个可以帮助您的库,它被称为Baum https://github.com/etrepat/baum

答案 1 :(得分:0)

我认为你没有正确配置你的模式..

它应该像:

class Category{
   public function subcategories(){
    return $this->hasMany('app\subcategory')//or whatever is your relations
   }
}

而不是在控制器中:

$categories = Category::with('subcategories')->all();