Я использую laravel 6.10 версию, в которой я выполняю поиск,
У меня есть 3 таблицы
1) course_category
2) course_sub_category
3) курс [course_id_category (внешний ключ), course_sub_category_id (внешний ключ)]
ниже мой код
$course = $request->searchItem;
if ($course=="") {
$Courses = DB::table('course')
->join('course_category', 'course.course_category_id', '=', 'course_category.id')
->select('course.*','course_category.title as category_title','course_category.thumb as category_thumb')
->orderBy('course.title','asc')
->paginate(15);
}
else{
$Courses = DB::table('course')
->join('course_category', 'course.course_category_id', '=', 'course_category.id')
->join('course_sub_category', 'course.course_sub_category_id', '=', 'course_sub_category.id')
->select('course.*','course_category.title as category_title','course_category.thumb as category_thumb')
->where('course.title', 'LIKE', '%'.$course.'%')
->orWhere('course_category.title', 'LIKE', '%'.$course.'%')
->orWhere('course_sub_category.title', 'LIKE', '%'.$course.'%')
->get();
}
когда я возвращаю значения, я собираю 0 массивов, но когда я удаляю одно или другое место из существующего, мой запрос работает, и его возвращаемое значение означает, что все значения с соответствием
означают, когда я использую несколько orWhere в laravel мое где не работает, пожалуйста, поделитесь решением на том же.