检查授权用户是否已投票然后计算民意调查?
Check if auth user has voted and then take count of polls?
我遇到了一个阻碍我前进的问题。
到目前为止,我已尝试获取民意调查计数,如下所示:
public function user_dashboard(){
$activepolls = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->count();
return view('user_dashboard',compact('activepolls'));
}
截至目前,我认为以下功能会对我有所帮助,但我不确定。
public function hasVoted($poll_id)
{
$poll = Poll::findOrFail($poll_id);
if ($poll->canGuestVote()) {
$result = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->where('larapoll_options.poll_id', $poll_id)->count();
return $result !== 0;
}
return $this->options()->where('poll_id', $poll->id)->count() !== 0;
}
只是我在我的网站上做了一个投票框,我想在那个框的右上角显示投票数。
- 我需要用户未投票的民意调查计数。
- 如果用户在民意调查中投票,它也应该从计数中删除。
如果有人能提供帮助,将不胜感激..
谢谢..
我已经通过以下代码解决了问题...
$activepolls = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->count();
$polls = Poll::count();
$unvotedpolls = ($polls - $activepolls);
在 ($unvotedpolls) 中,我得到了 auth 用户未投票的民意调查计数...
我遇到了一个阻碍我前进的问题。
到目前为止,我已尝试获取民意调查计数,如下所示:
public function user_dashboard(){
$activepolls = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->count();
return view('user_dashboard',compact('activepolls'));
}
截至目前,我认为以下功能会对我有所帮助,但我不确定。
public function hasVoted($poll_id)
{
$poll = Poll::findOrFail($poll_id);
if ($poll->canGuestVote()) {
$result = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->where('larapoll_options.poll_id', $poll_id)->count();
return $result !== 0;
}
return $this->options()->where('poll_id', $poll->id)->count() !== 0;
}
只是我在我的网站上做了一个投票框,我想在那个框的右上角显示投票数。
- 我需要用户未投票的民意调查计数。
- 如果用户在民意调查中投票,它也应该从计数中删除。
如果有人能提供帮助,将不胜感激..
谢谢..
我已经通过以下代码解决了问题...
$activepolls = DB::table('larapoll_polls')
->selectRaw('count(*) As total')
->join('larapoll_options', 'larapoll_polls.id', '=', 'larapoll_options.poll_id')
->join('larapoll_votes', 'larapoll_votes.option_id', '=', 'larapoll_options.id')
->where('larapoll_votes.user_id', auth()->user()->id)
->count();
$polls = Poll::count();
$unvotedpolls = ($polls - $activepolls);
在 ($unvotedpolls) 中,我得到了 auth 用户未投票的民意调查计数...