where('type', \App\Models\Exam::TYPE_TASK) ->where("status", \App\Models\Exam::STATUS_ENABLED) ; $total = (clone $query)->count(); $perPage = 20; list($paginationTop, $paginationBottom, $limit, $offset) = pager($perPage, $total, "?"); $rows = (clone $query)->offset($offset)->take($perPage)->orderBy('id', 'desc')->withCount("onGoingUsers")->get(); $title = nexus_trans('exam.type_task'); $columnNameLabel = nexus_trans('label.name'); $columnIndexLabel = nexus_trans('exam.index'); $columnBeginTimeLabel = nexus_trans('label.begin'); $columnEndTimeLabel = nexus_trans('label.end'); $columnDurationLabel = nexus_trans('label.duration'); $columnRecurringLabel = nexus_trans('exam.recurring'); $columnTargetUserLabel = nexus_trans('label.exam.filter_formatted'); $columnDescLabel = nexus_trans('label.description'); $columnSuccessRewardLabel = nexus_trans('exam.success_reward_bonus'); $columnFailDeductLabel = nexus_trans('exam.fail_deduct_bonus'); $columnDescriptionDeductLabel = nexus_trans('label.description'); $columnClaimLabel = nexus_trans('exam.action_claim_task'); $columnClaimedUserCountLabel = nexus_trans('exam.claimed_user_count'); $header = '
| $columnNameLabel | $columnIndexLabel | $columnBeginTimeLabel | $columnEndTimeLabel | $columnTargetUserLabel | $columnSuccessRewardLabel | $columnFailDeductLabel | $columnClaimedUserCountLabel | $columnDescriptionDeductLabel | $columnClaimLabel | %s | ', $row->name); $columns[] = sprintf('%s | ', $row->indexFormatted); $columns[] = sprintf('%s | ', $row->getBeginForUser()); $columns[] = sprintf('%s | ', $row->getEndForUser()); $columns[] = sprintf('%s | ', $row->filterFormatted); $columns[] = sprintf('%s | ', number_format($row->success_reward_bonus)); $columns[] = sprintf('%s | ', number_format($row->fail_deduct_bonus)); $columns[] = sprintf('%s | ', sprintf("%s/%s",$row->on_going_users_count ?? 0, $row->max_user_count ?: nexus_trans("label.infinite"))); $columns[] = sprintf('%s | ', $row->description); $columns[] = sprintf('%s | ', $claimAction); $table .= sprintf('