如何将查询转换为雄辩的

时间:2020-06-08 07:15:43

标签: laravel eloquent

嗨,我在查询生成器中编写了一个查询,如下所示,但希望将其转换为雄辩的

$courses = Course::
                ->join('course_reveiws', 'courses.id', '=', 'course_reveiws.course_id')
                ->join('users', 'courses.user_id', '=', 'users.id')
                ->select(DB::raw('avg(star) as average'))
                ->groupBy('course_reveiws.course_id')
                ->orderBy('star', 'desc')->where('courses.category_id',$id)
                ->get();

我需要雄辩地使用某种关系来获得像这样的结果,但是使用上面的查询生成器我无法获得下面的结果。我有两个方法用户并注册,我想得到它

{
      "id": 1,
      "category_id": 1,
      "subcategory_id": 3,
      "user_id": 2,
      "lang_id": 19,
      "title": "Laravel and Vue.js - Fullstack Web Development (2020)",
      "slug": "laravel-and-vuejs-fullstack-web-development-2020",
      "duration": "5H",

      "reveiw": 0,
      "special_commission": null,
      "total_enrolled": 21,
      "reveune": 6.86667,
      "thumbnail": "/uploads/courses/thumbnails/laravel-and-vuejs-fullstack-web-development-2020.png",
      "created_at": "2020-04-27 10:56:33",
      "updated_at": "2020-06-08 04:02:59",
      "enrolls_count": 4,
      "user": {
        "id": 2,
        "role_id": 2,
        "name": "instructor",
        "username": "instructor",
        "email": "instructor@lms.com",
        "email_verify": "1",

        "facebook": null,
        "currency_id": 2,
        "special_commission": 69,
        "payout": "PayTm",
        "payout_icon": "/uploads/payout/pay_4.png",
        "payout_email": "demo@paytm.com",
        "added_by": 0,
        "created_at": null,
        "updated_at": "2020-06-04 10:07:26"
      },
      "enrolls": [
        {
          "id": 7,
          "user_id": 3,
          "course_id": 1,
          "purchase_price": 10,
          "coupon": null,
          "discount_amount": 0,
          "reveune": 4,
          "status": 1,
          "created_at": "2019-04-10 07:16:01",
          "updated_at": "2020-05-10 07:16:01"
        },
      ]
    }

0 个答案:

没有答案