Php Laravel-检查是否存在关系

Php Laravel-检查是否存在关系,php,laravel,eloquent,relationship,Php,Laravel,Eloquent,Relationship,我试图使用和(“”) 使用getrelations()我可以获得帐户和身份关系 只要存在嵌套关系,我如何动态创建并检查帐户是否也有关系(成员) 我的意思是,在我的示例中,使用嵌套关系时,成员是来自account的嵌套关系,国家是来自成员的嵌套关系。不确定是否要查找,但可以使用exists helper方法,如果存在关系,该方法将返回布尔值 User::first()->has('dogs')->exists(); 如果第一个用户与狗有关系,将返回true。我找到了解决方案,它基本上是一个递归函

我试图使用
和(“”)

使用
getrelations()
我可以获得帐户和身份关系

只要存在嵌套关系,我如何动态创建并检查帐户是否也有关系(成员)


我的意思是,在我的示例中,使用嵌套关系时,成员是来自account的嵌套关系,国家是来自成员的嵌套关系。

不确定是否要查找,但可以使用exists helper方法,如果存在关系,该方法将返回布尔值

User::first()->has('dogs')->exists();

如果第一个用户与狗有关系,将返回true。

我找到了解决方案,它基本上是一个递归函数

protected  $relationNames = [];

function recursive($model){

        foreach($model as $key => $value){

           $this->relationNames[$key] =$value;

            if(count($value->getrelations()) > 0){

                $this->recursive($value->getrelations());
            }
        }
  }

不太清楚你想要的是什么,但请仔细研究一下。对不起,我的英语不好,我试图进一步解释一下:我需要它的主要原因是,我需要通过ACL检查模型的每个字段(都保存为json文件、每个表、每个列和特权)中的用户拥有哪个权限。这只是用户模型的一个示例,但我需要一个通用函数来检查模型中的所有嵌套关系<代码>$currentUser=User::with('account.member.country','identity')使用foreach,我可以只获得与用户帐户的第一个主关系,但该帐户也可能具有嵌套关系
protected  $relationNames = [];

function recursive($model){

        foreach($model as $key => $value){

           $this->relationNames[$key] =$value;

            if(count($value->getrelations()) > 0){

                $this->recursive($value->getrelations());
            }
        }
  }