Laravel - Eloquent模型中的层次结构

时间:2013-07-31 21:58:55

标签: laravel laravel-4 hierarchy eloquent

我的数据库具有以下层次结构:

- Manager:
  - Coordinator:
    - Supervisor:
      - Operator

此代码,输出所有“协调员”属于“经理”:

Manager::find(1)->coordinator()->get();

是否可以让所有“主管”直接属于“协调员”?例如:

Manager::find(1)->coordinator()->supervisor()->get();

对不起英语,我是巴西人

1 个答案:

答案 0 :(得分:0)

这是完全可能的,您只需要在模型中定义所有关系。然后,您可以通过执行以下操作检索特定“经理”的所有“操作员”:

Manager::find(1)->coordinator->supervisor->operator;

在该代码中,我使用了Eloquent ORM附带的动态专辑。

当我说“你需要定义模型中的所有关系”时,请执行以下操作:

class Manager extends Eloquent
{
    public function coordinator()
    {
        return $this->hasMany('Coordinator');
    }
}

然后你将为拥有许多主管的协调员和拥有许多运营商的主管做同样的事情。

请参阅有关Relationship, one-to-many, in Laravel 4的文档。