academy/app/Http/Controllers/MyCoursesController.php

65 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class MyCoursesController extends Controller
{
public function showMyCourses()
{
$userId = session('student_portal_log_id')
?? session('student_id')
?? session('id')
?? Auth::id();
$student = DB::table('student_details')
->where('student_portal_log_id', $userId)
->orWhere('id', $userId)
->orWhere('student_id', $userId)
->first();
if (!$student) {
return view('mycourse', [
'courses' => collect([]),
'student' => null
]);
}
$courses = DB::table('courses')
->join('course_assign_student', 'courses.id', '=', 'course_assign_student.course_id')
->whereIn('course_assign_student.student_id', [
$student->id,
$student->student_id,
$student->student_portal_log_id
])
->select('courses.*', 'course_assign_student.assigned_at')
->distinct()
->get();
return view('mycourse', compact('courses', 'student'));
}
public function showModule($course_id)
{
$course = DB::table('courses')->where('id', $course_id)->first();
if (!$course) {
abort(404, 'Course not found');
}
$modules = DB::table('modules')
->where('course_id', $course_id)
->get();
return view('module', compact('course', 'modules'));
}
}