Laravel获取同一个表中彼此相关的所有行

6tqwzwtp  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(130)

这里我有一个file_managers表,其中包含id、uuid、name parent_id等信息。某些行可能有一些与parent_id相关的子行。现在我想获取特定id的所有子行。对于id,可能有多级子行。

在图片中,我需要1的所有相关id。例如,如果我需要id 1的相关行,我需要所有2、3、4、5个id,因为所有都与id 1相关。
关系

public function sub()
{
    return $this->hasMany(FileManager::class, 'parent_id');
}

我试了几次,但没有得到结果...
谢谢

nukf8bse

nukf8bse1#

递归使用关系

public function sub(){
    return $this->hasMany(FileManager::class, 'parent_id');
}
    
public function recursiveSub(){
  return $this->sub()->with('recursiveSub');
}

然后在查询中

FileManager::with('recursiveSub')->find($id)

相关问题