如何计算laravel中树的级别

时间:2017-01-12 15:12:00

标签: php laravel tree eloquent

我想在laravel中获得一棵树的水平。 我有一个类别的树,大约有三个级别。

->parent category
  -->sub category
     -->child category

我希望能够知道父类别下面有多少级别。所以在上面的例子中答案是2.

在我的模型中,我定义了以下关系:

public function children()
    {
        return $this->hasMany('App\Models\Category', 'parent_id', 'id');
    }

任何建议表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

通过关系,你可以称他们为财产。话虽如此,你可以通过几种方式得到相同的答案。

<强>属性

$model->children->count();

这样做将运行一个select查询,该查询返回一个集合,然后对它们进行计数。

<强>功能

$model->children()->count();

这将运行一个查询,对记录进行计数。