Example #1
0
 public function show($code)
 {
     $course = Cache::tags('course')->remember("info-{$code}", Course::MINUTES_PER_MONTH, function () use($code) {
         return Course::with(['semester', 'professors'])->where('code', $code)->orderBy('semester_id', 'desc')->get();
     });
     return $this->setData($course)->responseOk();
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $users = User::all();
     Course::all()->each(function (Course $course) use($users) {
         $course->exams()->save(factory(Attachment::class)->make(['user_id' => $users->random()->getAttribute('id')]));
     });
 }
 public function waterfall(Request $request)
 {
     $key = 'comment-waterfall-' . $request->input('id', 0);
     $comments = Cache::tags('course')->remember($key, 5, function () use($request) {
         Course::setPrimaryKey('code');
         $query = Comment::with(['commentable'])->where('commentable_type', 'course')->whereNull('comment_id')->latest()->take(5);
         if ($request->has('id')) {
             $query = $query->where('id', '<', $request->input('id'));
         }
         return $query->get();
     });
     return $this->setData($comments)->responseOk();
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $users = User::all();
     Course::all()->each(function (Course $course) use($users) {
         $course->comments()->saveMany(factory(Comment::class, mt_rand(2, 5))->make(['user_id' => $users->random()->getAttribute('id')]))->each(function (Comment $comment) use($users) {
             // 評論的評論
             $comment->comments()->save(factory(Comment::class)->make(['user_id' => $users->random()->getAttribute('id')]));
             // 評論按讚
             $likes = mt_rand(2, 5);
             $comment->likes()->saveMany(factory(Like::class, $likes)->make(['user_id' => $users->random()->getAttribute('id')]));
             $comment->update(['likes' => $likes]);
         });
     });
 }
Example #5
0
 /**
  * 更新課程.
  *
  * @param Course $model
  * @param array $course
  * @return void
  */
 protected function updateCourse($model, $course)
 {
     $model->professors()->sync(array_merge($model->getRelation('professors')->pluck('id')->toArray(), $this->professors($course['professors'])->pluck('id')->toArray()));
     $model = $model->fresh(['professors']);
     foreach ($model->getRelation('professors') as $professor) {
         $pivot = $professor->getRelation('pivot');
         if (empty($pivot->getAttribute('class'))) {
             $pivot->update(['class' => $course['class'], 'credit' => $course['credit']]);
         }
     }
 }