2016-03-01 32 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

相關問題