0
Mọi người giúp em với , Em muốn lấy trong DB categories những thằng nào có tên course trong cột category_type. hiện tại em lấy tất cả category luôn.
public function searchAdvanced($params, $limit)
{
$courseService = new CourseService;
$query = $courseService->publish();
if(isset($params['s_course']) && ! empty($params['s_course'])) {
$query->where('title', 'like', "%{$params['s_course']}%");
}
if(isset($params['s_teacher']) && ! empty($params['s_teacher'])) {
$query->whereHas('teacher', function ($query) use ($params) {
$query->where('users.name', 'like', "%{$params['s_teacher']}%");
});
}
if(isset($params['catid']) && ! empty($params['catid'])) {
$query->whereHas('category', function ($query) use ($params) {
$query->where('categories.id', $params['catid']);
});
}
return $query->paginate($limit);
}
đây là DB categories của nó: https://prnt.sc/lywx5a
mọi người giúp em check điều kiền như thế nào để nó vào DB của thằng categories, vào cột category_type và lấy những thèn có tên 'course'.
2 CÂU TRẢ LỜI
Bình luận này đã bị xóa
0
Mình không rõ là bạn đang đứng ở bảng nào, và từ khóa "course" được truyền vô như thế nào nhưng thấy đoạn cuối có whereHas category nên đoán là bạn không đứng ở categories. Nếu vậy thì bạn sẽ cần thêm một cái where nữa chẳng hạn:
if (!empty($params['keyword'])) { // $params['keyword'] = course
$query->whereHas('category', function ($query) use ($params) {
$query->where('category_type', $params['keyword']);
});
}
@vunguyen10111995 cảm ơn, thêm đk nó ko hiểu, còn cách nào khác ko?
@thuyenhv2101 bạn thêm như nào mà nó lại không hiểu vậy
@thuyenhv2101 ở trước câu lệnh
return
, bạn thêm đoạn$query->where('category_type', 'course')
là được mà nhỉ