我的用户模型中有一个manager()
关系,该关系是递归的,因此我可以找到用户的经理,经理的经理等等。最终将导致经理成为董事。
User
Manager
Their Manager
Their Manager
Director
我的问题是,如何提取导演?我已经尝试了user->manager->first()
和user->manager->latest()->first()
,但似乎都没有返回期望的结果。
下面是我的User
模型中的关系代码:
public function manager()
{
return $this->belongsTo(__CLASS__, 'line_manager_id')->with('manager');
}
答案 0 :(得分:1)
将此方法添加到用户模型中,然后调用$user->getDirector();
public function getDirector()
{
if ($this->manager) {
return $this->manager->getDirector();
}
return $this;
}