我有一個可以創建投票的後端。在投票中,我可以創建一個投票問題。對於投票問題,我可以創建很多PollAnswer。獲取發生次數
如果我做這樣的事情在我的控制器
$poll = DB::table('poll')->orderBy('id', 'desc')->first();
$question = DB::table('poll_question')->where('poll_id', $poll->id)->first();
$answers = DB::table('poll_answer')->select('answer')->where('question_id', $question->id)->get();
print_r("<pre>");
print_r($answers);
print_r("</pre>");
我可以看到如下
Array
(
[0] => stdClass Object
(
[answer] => Answer 1
)
[1] => stdClass Object
(
[answer] => Answer 2
)
[2] => stdClass Object
(
[answer] => Answer 3
)
[3] => stdClass Object
(
[answer] => Answer 4
)
)
所以輸出,上述投票給出4個可能的答案,PollQuestion。
現在我有一個顯示問題的前端,以及每個PollAnswer的單選按鈕。當他們選擇並保存時,我會得到一個PollResponse。如果我做這樣的事情
$pollResponses = DB::table('poll_response')->select('response')->where('poll_id', $poll->id)->get();
輸出可能是這樣的
Array
(
[0] => stdClass Object
(
[response] => Answer 1
)
[1] => stdClass Object
(
[response] => Answer 4
)
[2] => stdClass Object
(
[response] => Answer 4
)
[3] => stdClass Object
(
[response] => Answer 2
)
[4] => stdClass Object
(
[response] => Answer 3
)
)
所以我可以看到人們選擇什麼。現在,對於每個可能的PollAnswer,我需要計算與其相關的PollResponse的數量。因此,對於上述數據,我應該得到的東西像
1 = 1
2 = 1
3 = 1
4 = 3
有沒有簡單的方法可以讓我在Laravel做到這一點,或者我需要循環兩種答案和響應,以獲得單獨計數?
感謝