當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Course::whereHas方法代碼示例

本文整理匯總了PHP中app\Course::whereHas方法的典型用法代碼示例。如果您正苦於以下問題:PHP Course::whereHas方法的具體用法?PHP Course::whereHas怎麽用?PHP Course::whereHas使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app\Course的用法示例。


在下文中一共展示了Course::whereHas方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getIndex

 public function getIndex(Request $request)
 {
     $userCourses = \App\Course::whereHas('users', function ($query) {
         $query->where('user_id', '=', \Auth::id());
     })->get();
     # Get all the requirements
     $requirements = \App\Requirement::all();
     # Array to keep track of the requirements this user has completed
     $satisfied_requirements = [];
     # See what requirements this user has satisfied by looping through all their courses
     foreach ($userCourses as $userCourse) {
         # Find out what requirements this particular course satisifies
         $course = \App\Course::where('id', '=', $userCourse->id)->with('requirements')->first();
         # Loop through all the requirements this course satisfies
         foreach ($course->requirements as $requirement) {
             # If we've never had an instance of this requirement being satisfied
             # We'll start the count off with how many hours this particular course satisfies
             if (!isset($satisfied_requirements[$requirement->id]['course_hours'])) {
                 $satisfied_requirements[$requirement->id]['course_hours'] = $course->course_hours;
             } else {
                 $satisfied_requirements[$requirement->id]['course_hours'] += $course->course_hours;
             }
         }
     }
     # Now we'll loop through all the requirements and update each one with a count of 'hours_remaining'
     foreach ($requirements as &$requirement) {
         # If they have anything that satisfies this requirement
         if (isset($satisfied_requirements[$requirement->id])) {
             # Then how many hours have been completed...
             $hours_completed = $satisfied_requirements[$requirement->id]['course_hours'];
             # Subtract that from this requirements `requirement_hours`
             # That kets stored in a new attribute for this $requirement, called `remaining_hours`
             $requirement->remaining_hours = $requirement->requirement_hours - $hours_completed;
         } else {
             $requirement->remaining_hours = $requirement->requirement_hours;
         }
     }
     return view('dash.index')->with('userCourses', $userCourses)->with('requirements', $requirements);
 }
開發者ID:dnvmbr,項目名稱:p4,代碼行數:39,代碼來源:DashController.php


注:本文中的app\Course::whereHas方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。