Laravel 检查集合是不是包含外键

Posted

技术标签:

【中文标题】Laravel 检查集合是不是包含外键【英文标题】:Laravel Checking If A Collection Contains A Foreign KeyLaravel 检查集合是否包含外键 【发布时间】:2015-01-30 02:26:17 【问题描述】:

我想知道是否有一个函数或其他东西,您可以从集合中获取除主键之外的其他元素...例如,如果投票有一个外键“user_id”,我该如何检查这个?在 laravel 文档中,只有一个使用 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

【问题讨论】:

【参考方案1】:
if ($votes->contains('user_id', auth()->id())) 
    //

【讨论】:

【参考方案2】:

在您的模型中

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

在视图中

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

【讨论】:

以上是关于Laravel 检查集合是不是包含外键的主要内容,如果未能解决你的问题,请参考以下文章

SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败 - Laravel

Laravel 检查集合是不是为空

如何检查 Laravel 集合是不是为空?

如何从 laravel 的 eloquent 集合中获取外键

使用 laravel 验证检查唯一的日期/时间

如何检查 MySQL JSON 列是不是包含 laravel 中的值?