Php 使用Laravel将用户的选择与数据库中的记录进行比较

Php 使用Laravel将用户的选择与数据库中的记录进行比较,php,laravel,Php,Laravel,我有4个单选按钮,用户可以选择其中的一个选项,我想检查该选项是否存在于表格问题中(该表格包含问题文本、I选项和正确答案),如果存在,我想增加表格测试中的字段点,并且为实现此目的,控制器包含: $userChoise = $request->answer; $test = new Test; $questions = DB::table('question')->get(); foreach ($questions as $question) { if ($qu

我有4个单选按钮,用户可以选择其中的一个选项,我想检查该选项是否存在于表格问题中(该表格包含问题文本、I选项和正确答案),如果存在,我想增加表格测试中的字段点,并且为实现此目的,控制器包含:

$userChoise = $request->answer;
$test = new Test;
$questions = DB::table('question')->get();

    foreach ($questions as $question) {
       if ($question->correcte == $userChoise) {

             $test->nbr_points = 10;
             $test->save();

         }else{

             $test->nbr_points = 0;
             $test->save();
            }
        }

问题在于,如果它仍然运行else处理,那么它没有考虑到该条件下的情况

让我们稍微修改一下代码=)


这就是你要找的吗?

什么是$gtest?包含哪些字段?你有什么关系吗?你需要给我们更多的细节来给你准确的答案answer@MohamedSabil83我在描述中做了一些修改,不,两个表之间没有关系。如果你能解释一下条件是什么,那么我们可以用一个查询来完成。
$userChoise = $request->answer;
$test = new Test;
$correctAnswers = DB::table('question')->where('correcte', $userChoise)->count();

$test->nbr_points = $correctAnswers * 10;
$test->save();