我正在为我正在制作的链接共享网站制作投票系统。
当用户对链接进行投票时,新行将添加到具有链接ID和用户ID的数据库中。
在我的控制器中显示这些链接时,我称之为关系(投票):
$links = Link::orderBy('created_at', 'desc')->with('votes')->paginate(20);
模型中的关系
public function votes()
{
return $this->hasMany('\App\LinkVote');
}
在我看来,我在$ links上运行foreach来显示每个。我的目的是在用户已经投票选择该链接时显示一个不同的按钮。
当dd'ing $ link->投票时,我得到:
如何检查(在我的视图和foreach中)当前登录的用户是否在该投票数组中?
答案 0 :(得分:5)
您可以尝试contains()
:
$link->votes->contains('user_id', auth()->user()->id);
if ($link->votes->where('user_id', auth()->user()->id)->count()) {