use Capsule

This commit is contained in:
xiaomlove
2021-04-26 01:01:39 +08:00
parent 7cfde3f95b
commit 58c6aa58e8
+10 -4
View File
@@ -9,7 +9,9 @@ use App\Models\Torrent;
use App\Models\User; use App\Models\User;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Database\Capsule\Manager as Capsule;
class ExamRepository extends BaseRepository class ExamRepository extends BaseRepository
{ {
@@ -235,10 +237,14 @@ class ExamRepository extends BaseRepository
} }
$result = $query->paginate(); $result = $query->paginate();
$idArr = array_column($result->items(), 'id'); $idArr = array_column($result->items(), 'id');
$progressSum = ExamProgress::query() $examTable = (new Exam())->getTable();
->whereIn('exam_user_id', $idArr) $progressTable = (new ExamProgress())->getTable();
->groupBy(['exam_user_id', 'index']) $progressSum = Capsule::table($progressTable)
->selectRaw('`exam_user_id`, `index`, sum(`value`) as `index_sum`') ->join($examTable, "$progressTable.exam_id", '=', "$examTable.id")
->whereIn("$progressTable.exam_user_id", $idArr)
->whereRaw("$progressTable.created_at >= $examTable.begin and $progressTable.created_at <= $examTable.end")
->groupByRaw("$progressTable.exam_user_id, $progressTable.`index`")
->selectRaw("$progressTable.exam_user_id, $progressTable.`index`, sum($progressTable.`value`) as `index_sum`")
->get(); ->get();
$map = []; $map = [];