首页 > 解决方案 > 查询 2 个可能位置是否存在所有数组项

问题描述

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

$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));                            
    });
});

标签: laraveleloquent

解决方案


推荐阅读