你好,我有一个新项目。我想在这个项目中构建一个多类别的系统。 例 类别 -Subcategory - 子子类别 -Subsubsubcategory -Subsubsubsubcategory -Subsubsubcategory。 等等..
我使用laravel 5.4版本。怎么做到这个?
答案 0 :(得分:5)
创建一个Category
模型和一个表格。在表格中添加parent_id
。现在你假设你有这些类别:
Name id parent_id
cat1 1 NULL
cat2 2 1
cat3 3 2
cat4 4 3
你明白了,现在cat4
是cat3
的子类别,它是cat2
的子类,是cat1
的子类。
在模型中你可以做到
public function parent() {
return $this->belongsTo('App\Category', 'parent_id'); get parent category
}
public function children() {
return $this->hasMany('App\Category', 'parent_id'); //get all subs. NOT RECURSIVE
}
尝试一下,看看它是怎么回事。