Laravel 5 - 在返回资源的所有投票作为关系时检查用户是否有 'voted'
Laravel 5 - Checking if a user has 'voted' when returning all votes for the resource as a relationship
我正在为我正在开发的 link 共享网站制作投票系统。
当用户对 link 投票时,新行将添加到具有 link id 和用户 id 的数据库中。
在我的控制器中显示这些 link 时,我称之为关系(投票):
$links = Link::orderBy('created_at', 'desc')->with('votes')->paginate(20);
以及模型中的关系
public function votes()
{
return $this->hasMany('\App\LinkVote');
}
在我看来,我是 运行 $link 上的一个 foreach 来显示每一个。我的目标是在用户已经投票给 link.
时显示不同的按钮
当获得 $link-> 选票时,我得到:
我如何检查(在我的视图和 foreach 中)当前登录的用户是否在该投票数组中?
你可以试试contains()
:
$link->votes->contains('user_id', auth()->user()->id);
if ($link->votes->where('user_id', auth()->user()->id)->count()) {
我正在为我正在开发的 link 共享网站制作投票系统。
当用户对 link 投票时,新行将添加到具有 link id 和用户 id 的数据库中。
在我的控制器中显示这些 link 时,我称之为关系(投票):
$links = Link::orderBy('created_at', 'desc')->with('votes')->paginate(20);
以及模型中的关系
public function votes()
{
return $this->hasMany('\App\LinkVote');
}
在我看来,我是 运行 $link 上的一个 foreach 来显示每一个。我的目标是在用户已经投票给 link.
时显示不同的按钮当获得 $link-> 选票时,我得到:
我如何检查(在我的视图和 foreach 中)当前登录的用户是否在该投票数组中?
你可以试试contains()
:
$link->votes->contains('user_id', auth()->user()->id);
if ($link->votes->where('user_id', auth()->user()->id)->count()) {