Я не уверен, что правильно понимаю вашу структуру таблиц db,
но получение данных из db и их обновление дорого обходятся
вы должны выполнить процесс обновления в db любым путь ...
идея этого кода состоит в том, чтобы объединить две таблицы на основе столбца question_id, а затем выполнить обновление 'где', у меня не было возможности проверить это ...
AnswerHistory::join('answer_statistics','answer_statistics.question_id','answer_histories.question_id')-> where('answer_histories.question_id','!=',null)->
where('answer_histories.lkp_answer_id','=',DB::raw('answer_statistics.lkp_answer_id'))
->update(['correct_answer_score' => 3]);
AnswerHistory::join('answer_statistics','answer_statistics.question_id','answer_histories.question_id')-> where('answer_histories.question_id','!=',null)->
where('answer_histories.lkp_answer_id','!=',DB::raw('answer_statistics.lkp_answer_id'))
->update(['correct_answer_score' => 0]);
дайте знать, если поможет