UserCourse.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. class UserCourse extends Model
  5. {
  6. protected $table = 'user_course';
  7. protected $primaryKey = 'id';
  8. const CREATED_AT = 'creation_date';
  9. public static function getLabel(int $page,int $limit,int $id)
  10. {
  11. $offset = ($page - 1) * $limit;
  12. $query = self::query()->where(['user_course.status'=>1])
  13. ->leftJoin('course_base','course_base.id','=','user_course.course_id')
  14. ->orderBy('user_course.created_at','desc')
  15. ->where('user_course.user_id',$id)
  16. ->offset($offset)
  17. ->limit($limit)
  18. ->get(['course_base.one_level_label']);
  19. if ($query){
  20. return $query->toArray();
  21. }else{
  22. return [];
  23. }
  24. }
  25. public static function getListByUserId(int $id)
  26. {
  27. $query = self::query()->where(['user_id'=>$id])->get(['course_id']);
  28. if ($query){
  29. return $query->toArray();
  30. }else{
  31. return [];
  32. }
  33. }
  34. public static function getOne(int $id,int $course)
  35. {
  36. $query = self::query()->where(['user_id'=>$id,'course_id'=>$course])->first();
  37. if ($query){
  38. return $query->toArray();
  39. }else{
  40. return null;
  41. }
  42. }
  43. public static function insertData(array $data)
  44. {
  45. return self::query()->insert($data);
  46. }
  47. public static function del(int $id)
  48. {
  49. return self::query()->where('id', $id)->delete();
  50. }
  51. }