Yêu cầu thg 12 24, 2018 10:45 SA 171 0 2
  • 171 0 2
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.

Chia sẻ
  • 171 0 2
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'.

Avatar Vũ Nguyễn @vunguyen10111995
thg 12 25, 2018 12:33 SA
Avatar Odasama K @thuyenhv2101
thg 12 25, 2018 1:16 SA

@vunguyen10111995 cảm ơn, thêm đk nó ko hiểu, còn cách nào khác ko?

Avatar Vũ Nguyễn @vunguyen10111995
thg 12 25, 2018 1:20 SA

@thuyenhv2101 bạn thêm như nào mà nó lại không hiểu vậy

Avatar Tran Duc Thang @thangtd90
thg 12 25, 2018 6:54 SA

@thuyenhv2101 ở trước câu lệnh return, bạn thêm đoạn $query->where('category_type', 'course') là được mà nhỉ 🤔

2 CÂU TRẢ LỜI


Đã trả lời thg 12 25, 2018 1:04 SA
Đã được chấp nhận
+1

bạn thử thêm điều kiện

->where('category_type', 'course')

xem sao 😃

Chia sẻ
Avatar Henry Bui @viethuong2072000
thg 12 31, 2018 2:11 SA
Đã trả lời thg 12 31, 2018 2:12 SA
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']);
    });
}
Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí