如何使用laravel生成统计信息?

ewm0tg9j  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(270)

我在一个类似于测验的laravel应用程序上工作。创建一个练习,添加问题,并将每个问题添加到答案中。在那之前一切都很好。我的兴趣是在学生们回答完测试后提供每一个练习的统计数据。我希望能够显示每个问题的答案百分比。以下是我的数据结构示例:

[
{
    "id": 1,
    "exercice_id": 1,
    "question": "Lorem ipsum ?",
    "responses": [
        {
            "id": 1,
            "exercice_id": 1,
            "question_id": 1,
            "response_text": "Yes",
        },
        {
            "id": 2,
            "exercice_id": 1,
            "question_id": 1,
            "response_text": "No",
        }
    ],
    "choice": [
        {
            "id": 1,
            "exercice_id": 1,
            "question_id": 1,
            "response_id": 1,
        },
        {
            "id": 2,
            "exercice_id": 1,
            "question_id": 1,
            "response_id": 1,
        },
        {
            "id": 3,
            "exercice_id": 1,
            "question_id": 1,
            "response_id": 2,
        }
    ]
},
{
    "id": 2,
    "exercice_id": 1,
    "question": "fake text ?",
    "responses": [
        {
            "id": 3,
            "exercice_id": 1,
            "question_id": 2,
            "response_text": "A",
        },
        {
            "id": 4,
            "exercice_id": 1,
            "question_id": 2,
            "response_text": "B",
        },
        {
            "id": 5,
            "exercice_id": 1,
            "question_id": 2,
            "response_text": "C",
        }
    ],
    "choice": [
        {
            "id": 4,
            "exercice_id": 1,
            "question_id": 2,
            "response_id": 5,
        },
        {
            "id": 5,
            "exercice_id": 1,
            "question_id": 2,
            "response_id": 3,
        }
    ]
}
]

我试过了 groupBy 方法的几个元素。但是我还没有找到公式。

return response()->json(Question::with('responses','choice')
            ->where('exercice_id',$exo->id)
            //->groupBy('choice')
            ->get(),
            200,[], JSON_NUMERIC_CHECK);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题