Laravel 查询2个可能位置中是否存在所有数组项

Laravel 查询2个可能位置中是否存在所有数组项,laravel,eloquent,Laravel,Eloquent,我有一个查询,它将返回与$value数组中的一个值匹配的所有项目,在一个表(video_标记)或另一个表(标记)中。这很好,但我需要调整它,以便只返回与数组中的每个值匹配的项。这可能吗 $vids->where(function($query) use ($value) { $query->whereIn('videos.id', function($query) use($value) { // tags $query->select(

我有一个查询,它将返回与
$value
数组中的一个值匹配的所有项目,在一个表(video_标记)或另一个表(标记)中。这很好,但我需要调整它,以便只返回与数组中的每个值匹配的项。这可能吗

$vids->where(function($query) use ($value) {
    $query->whereIn('videos.id', function($query) use($value) {
        // tags
        $query->select('video_id')->from('video_tag')->whereIn('tag_id', array_map(function($a) {
            return $a['id'];
        }, $value));
    })->orWhereIn('videos.id', function($query) use($value) {
        // markers
        $query->select('video_id')->from('markers')->join('marker_tag', 'marker_tag.marker_id', 'markers.id')->whereIn('marker_tag.tag_id', array_map(function($a) {
            return $a['id'];
        }, $value));                            
    });
});

你的问题是这样的:谢谢-这看起来不适用于我的2表问题,但是,我遗漏了什么吗?