2016-03-01 46 views
0

我有以下关系Laravel检查,如果一个特定的项目存在于表

  • 电影有许多情节
  • 的用户的关注清单
  • 的关注清单有许多电影

我得到了我的剧集与雄辩

$latestshows = episode::with('movies') ->where('category', 'tvshow')->take(10) ->get(); 

然后,我

@foreach($latestshows as $show) 
@if (Auth::guest()) 
    <tr> 
@else 
    <tr class="{{ Auth::user()-> watchlist **...** ? 'alert-danger' : '' }}"> 
@endif 
<td><a href="/movies/{{$show->movie->id}}">{{ $show->movie->title }}</a></td> 
<td>{{ $show->number }}</td> 
<td>{{ $show->created_at }}</td> 
</tr> 
@endforeach 

显示它如何检查在使用,如果登录在监视列表中显示?在这种情况下,我想用不同的颜色显示它。 对不起,如果这是一个愚蠢的问题,我只是一个初学者和试验。

回答

1

您可以使用in_arrayarray_diff(这两种本机PHP函数)查看哪些电影相同,或者您可以使用来自正在处理的集合对象的 - > diff()或 - > has()方法。

<td> 
    <a ... {{ Auth::user()->watchlist->movies->find($show->movies->id) ? 'alert-danger' : '' }}> 
    {{ $show->movie->title }} 
    </a> 
</td> 
+0

它给调用未定义的方法照亮\数据库\查询\生成器:: { “id”:2,“title”:“... – Mike

0

此代码给了我预期的结果

{{ Auth::user()->watchlist->movies->find($show->movies->id) ? 'alert-danger' : '' }} 

谢谢奥斯卡,你是我的灵感:P

+0

很高兴我可以帮助:)我已经更新了我的答案,如果您认为它足够好,请将其标记为已接受! – OskarD90

相关问题