master
cody 7 months ago
parent 05ef1c0dba
commit 1debf5b24b

@ -64,15 +64,7 @@ class CourseContentCheckController extends BaseController
public function index() public function index()
{ {
$all = request()->all(); $all = request()->all();
$list = CourseSign::with([ $list = CourseSign::with(['course.typeDetail', 'user'])->whereHas('user', function ($query) use ($all) {
'course.typeDetail',
'user',
'courseContentCheck' => function ($query) use ($all) {
if (isset($all['course_content_id'])) {
$query->where('course_content_id', $all['course_content_id']);
}
}
])->whereHas('user', function ($query) use ($all) {
if (isset($all['name'])) { if (isset($all['name'])) {
$query->where('name', 'like', '%' . $all['name'] . '%'); $query->where('name', 'like', '%' . $all['name'] . '%');
} }
@ -137,8 +129,14 @@ class CourseContentCheckController extends BaseController
if (isset($all['is_export']) && !empty($all['is_export'])) { if (isset($all['is_export']) && !empty($all['is_export'])) {
$list = $list->limit(5000)->get()->toArray(); $list = $list->limit(5000)->get()->toArray();
foreach ($list as $item) { foreach ($list as $item) {
$courseContentChecks = CourseContentCheck::where('course_id', $item->course_id)
->where(function ($query) use ($all) {
if (isset($all['course_content_id'])) {
$query->where('course_content_id', $all['course_content_id']);
}
})->first();
// 是否存在courseContentCheck // 是否存在courseContentCheck
if (isset($item['course_content_check'])) { if ($courseContentChecks) {
$item->course_content_check_text = '已签到'; $item->course_content_check_text = '已签到';
} else { } else {
$item->course_content_check_text = '未签到'; $item->course_content_check_text = '未签到';
@ -148,6 +146,14 @@ class CourseContentCheckController extends BaseController
} else { } else {
// 输出 // 输出
$list = $list->paginate($all['page_size'] ?? 20); $list = $list->paginate($all['page_size'] ?? 20);
foreach ($list as $item) {
$item->courseContentChecks = CourseContentCheck::where('course_id', $item->course_id)
->where(function ($query) use ($all) {
if (isset($all['course_content_id'])) {
$query->where('course_content_id', $all['course_content_id']);
}
})->first();
}
} }
return $this->success($list); return $this->success($list);
} }
@ -168,8 +174,8 @@ class CourseContentCheckController extends BaseController
* ) * )
*/ */
public public
function show( function show()
) { {
return parent::show(); return parent::show();
} }
@ -188,8 +194,8 @@ class CourseContentCheckController extends BaseController
* ) * )
*/ */
public public
function save( function save()
) { {
return parent::save(); return parent::save();
} }
@ -208,8 +214,8 @@ class CourseContentCheckController extends BaseController
* ) * )
*/ */
public public
function destroy( function destroy()
) { {
return parent::destroy(); return parent::destroy();
} }

@ -59,12 +59,6 @@ class CourseSign extends SoftDeletesModel
return $this->hasOne(Course::class, 'id', 'course_id'); return $this->hasOne(Course::class, 'id', 'course_id');
} }
public function courseContentCheck()
{
return $this->hasOne(CourseContentCheck::class, 'course_id', 'course_id')
->whereColumn('course_content_checks.user_id', 'course_signs.user_id');
}
public function user() public function user()
{ {
return $this->hasOne(User::class, 'id', 'user_id'); return $this->hasOne(User::class, 'id', 'user_id');

Loading…
Cancel
Save