Я делаю фильтр множественного выбора в Laravel 6 для функции индекса. Как вы можете вычесть, существует сводная таблица между новостями и jobCategory, поэтому мне нужно объединение, чтобы использовать whereIn, чтобы показать новости, которые фильтрует пользователь. Проблема заключается в том, что функция Different () не работает, поэтому я получаю повторяющиеся результаты, когда я этого не хочу. Кто-то знает, где я не прав.
$query = News::distinct()->with('newsTranslations');
if ($request->has('categories')) {
$query = $query->whereIn('news.idCategory', $input['categories']);
}
if ($request->has('jobCategories')) {
$query = $query->join('jobCategories_News','news.id','=','jobCategories_News.idNews')
->whereIn('jobCategories_News.idjobCategories', $input['jobCategories']);
}
$query = $query->distinct('news.id')->paginate(20);