Laravel:获取嵌套列表中的最后一个父级eloquent递归

时间:2015-04-13 20:26:02

标签: laravel recursion laravel-4 eloquent recursive-query

我需要在带有laravel的嵌套树中获取最新的父级:

示例:

Example

我数据库中表格的架构:

enter image description here

我的模型中的关系:

public function parentUnit() {
    return $this->belongsTo('Unit', 'unit_id', 'id');
}

public function allParentUnit() {
    return $this->parentUnit()->with('allParentUnit');
}

问题

如何获得上图中的最新父母:

最新的父母 G是A

最后的父母 F是B

1 个答案:

答案 0 :(得分:1)

我会在模型中添加一个方法来查找第一个父级。

public function getLatestParent()
{
    if ($this->parentUnit)
        return $this->parentUnit->getLatestParent();

    return $this;
}