2016-11-09 72 views
5

我正在爲我正在處理的鏈接共享網站製作投票系統。Laravel 5 - 檢查用戶是否將所有投票作爲關係返回投票時

當用戶對鏈接進行投票時,將新行添加到帶有鏈接ID和用戶標識的數據庫中。

當顯示在我的控制器這些鏈接我所說的關係(票):

$links = Link::orderBy('created_at', 'desc')->with('votes')->paginate(20); 

而且我運行在$一個foreach模型

public function votes() 
{ 
    return $this->hasMany('\App\LinkVote'); 
} 

在我看來關係鏈接來顯示每一個。我的目標是顯示一個不同的按鈕,如果用戶已經投票支持該鏈接。

當dd'ing $鏈路>票,我得到:

enter image description here

我怎樣才能檢查(在我看來,並在foreach)如果當前登錄的用戶票數該數組中?

回答

5

您可以嘗試contains()

$link->votes->contains('user_id', auth()->user()->id); 

或者where()count()

if ($link->votes->where('user_id', auth()->user()->id)->count()) { 
+1

完美的,更簡單的比我在我的腦海計劃! – Lovelock