【发布时间】:2020-06-28 08:31:38
【问题描述】:
我想根据他们撰写的类别(例如体育、音乐)过滤记者。当用户选择多个类别时,例如体育和音乐,它应该只显示正在撰写有关体育和音乐的记者。目前,我只过滤了撰写有关体育和/或音乐的记者。
用户选择的类别用数组表示:
并且组合记者和类别组合在链接表中定义:
在我当前的代码中,我使用 whereHas 命令,但这只会在数组 $categoriesIds 中查找每个记者类别 ID 并导致选择 OR 组合:
$journalists = Journalist::where('active', 1)
->whereHas('categories', function($q) use ($categoriesIds) {
$q->whereIn('journalist_category_id', $categoriesIds);
})->paginate(100);
【问题讨论】:
标签: laravel eloquent filtering