Expression #1 of ORDER BY contains aggregate function and applies to the result of a non-aggregated query laravel

PHP
1. set strict to false in config/databtase.php 
2. ->select([
		'exam_registrations.id',
        'exam_registrations.exam_id',
        'exam_registrations.user_id',
        DB::raw('sum(submissions.marks) as totalMarksGained')
     ])
     ->groupBy('exam_registrations.user_id')
     ->orderBy('totalMarksGained', 'DESC')SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Source

Also in PHP: