本文整理汇总了PHP中app\Student::join方法的典型用法代码示例。如果您正苦于以下问题:PHP Student::join方法的具体用法?PHP Student::join怎么用?PHP Student::join使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Student
的用法示例。
在下文中一共展示了Student::join方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: show
/**
* Using this method for two different AJAX request. One for enroll course & one for save result
*
* Display the specified resource.
*
* @param Request $request
* @param $id
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
*/
public function show(Request $request, $id)
{
if ($request->ajax()) {
$studentInfo = Student::join('departments', 'students.department_code', '=', 'departments.code')->select('students.name', 'students.email', 'students.department_code', 'departments.name as department')->where('students.registration_no', '=', $id)->first();
if ($request->has('grade')) {
/**
* Select courses of a student which is not being graded
* @var TYPE_NAME $courses
*/
$courses = Course::join('course_student', 'courses.code', '=', 'course_student.course_code')->select('courses.code', 'courses.name')->where('course_student.student_registration_no', $id)->where(function ($query) {
$query->whereNull('course_student.grade')->orWhere('course_student.grade', '');
})->get();
} elseif ($request->has('result')) {
$student = Student::find($id);
/** Check whether user can see the result
* @var TYPE_NAME $this */
$this->authorize('viewResult', $student);
$courses = Course::join('course_student', 'courses.code', '=', 'course_student.course_code')->select('courses.code', 'courses.name', 'course_student.grade')->where('course_student.student_registration_no', $id)->get();
} else {
$courses = Course::select('courses.code', 'courses.name')->where('courses.department_code', '=', $studentInfo->department_code)->whereNotIn('courses.code', function ($query) use($id) {
$query->select('course_student.course_code')->from('course_student')->where('course_student.student_registration_no', '=', $id);
})->get();
}
return response([$studentInfo, $courses]);
}
}