如何Laravel类别 - 子类别

时间:2017-02-16 00:03:00

标签: php laravel

你好,我有一个新项目。我想在这个项目中构建一个多类别的系统。 例 类别  -Subcategory     - 子子类别      -Subsubsubcategory        -Subsubsubsubcategory           -Subsubsubcategory。 等等..

我使用laravel 5.4版本。怎么做到这个?

1 个答案:

答案 0 :(得分:5)

创建一个Category模型和一个表格。在表格中添加parent_id。现在你假设你有这些类别:

Name      id       parent_id
cat1      1        NULL
cat2      2        1
cat3      3        2
cat4      4        3

你明白了,现在cat4cat3的子类别,它是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
}

尝试一下,看看它是怎么回事。