如果集合包含外键,则检查Laravel

时间:2014-12-01 23:28:06

标签: php mysql laravel collections eloquent

我想知道是否存在函数或其他内容,您可以从集合中获取除主键之外的其他元素...例如,如果投票具有外键' user_id',我该如何检查?在laravel doc上,只有一个示例通过使用contains()来检查主键。任何人都可以帮助我吗?

检查是否存在id = 2

的投票的示例
@foreach($projects as $project)
  @if ($project->votes->contains(2))
  //
  @endif
@endforeach

我想要检查是否存在具有' user_id'的投票? =已登录用户ID

@foreach($projects as $project)
  @if ($project->votes->contains('user_id' == Auth::id()))
  //
  @endif
@endforeach

2 个答案:

答案 0 :(得分:13)

if ($votes->contains('user_id', auth()->id())) {
    //
}

答案 1 :(得分:1)

在您的模型中

public static checkForeign($thisId) {
    ( $thisId == Auth::user()->id ) ? return true : return false;
}

在视图中

@if ( ModelName::checkForeign($project->votes->id) ) 
    // Do something
@endif