Laravel 4 检查是否与Laravel/Elount中的外国实体存在关系

Laravel 4 检查是否与Laravel/Elount中的外国实体存在关系,laravel-4,eloquent,Laravel 4,Eloquent,我有一个person的实例$person,我想检查是否创建了与外部实体的关系(App) 在雄辩的模型中恰当地映射了这些关系检查此项的首选方法是什么? 我能想到的唯一办法就是 $foundApp = $person->apps->filter(function($a) use($searchAppId) { return $a->id == $searchAppId; }); if ($foundApp) {} 但是可能有更好的方法。您可以添加一个自定义getter来

我有一个
person
的实例
$person
,我想检查是否创建了与外部实体的关系(
App

在雄辩的模型中恰当地映射了这些关系检查此项的首选方法是什么?

我能想到的唯一办法就是

$foundApp = $person->apps->filter(function($a) use($searchAppId)
{ 
  return $a->id == $searchAppId; 
});

if ($foundApp) {}

但是可能有更好的方法。

您可以添加一个自定义getter来检查您的模型

class-Person扩展了口才{
公共函数getHasAppWithId($id){
返回($this->apps()->where('id',$id)->count()>0);
}
}
在代码中

$person->hasAppWithId(25);

我只需检查保存个人应用程序的数组大小是否大于0。@Dave我需要检查特定的应用程序ID为什么不调用方法
hasAppWithId
?嗯,您可以删除get。当我开始输入这个时,我正在创建一个自定义getter,但是当您需要提供一个id时,这是不可能的。
$foundApp = $person->apps->filter(function($a) use($searchAppId)
{ 
  return $a->id == $searchAppId; 
});

if ($foundApp) {}