嗨,我在查询生成器中编写了一个查询,如下所示,但希望将其转换为雄辩的
$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"
},
]
}