PHP Laravel-查询范围-其中ID包含值

PHP Laravel-查询范围-其中ID包含值,php,mysql,laravel-5,eloquent,Php,Mysql,Laravel 5,Eloquent,我有两个桌子和模型: 1) 档案 2) 拜访 使用查询范围,我可以获得特定日期的总访问次数: public function scopeByDate($query, $start_date, $end_date) { return $query->whereHas('visits', function($q) use ($start_date, $end_date) { $q->whereBetween('created_at', array($s

我有两个桌子和模型:

1) 档案

2) 拜访

使用查询范围,我可以获得特定日期的总访问次数:

public function scopeByDate($query, $start_date, $end_date)
{
    return $query->whereHas('visits', function($q) use ($start_date, $end_date)
    {
          $q->whereBetween('created_at', array($start_date, $end_date));
    });
我可以这样做,这将返回所有访问过的文件,这些访问是在特定日期进行的

由于存在关系,我可以通过执行
$results=files::ByDate($start,$end)

问题是,这会返回当天所有用户的所有访问。假设我有10个文件,在那一天,其中5个文件被
user 1
user 2
访问,我只想显示
user 1

注意:“访问”中有一个名为“用户id”的字段


这可能吗?用户将被包含在一个数组中
$users=[1,2,3,4]
作为一个例子,我没有太多地使用scopes,但是您不能设置一个
scopeByUsers
方法并同时应用这两种方法吗?例如,
Files::ByDate($start,$end)->ByUsers($users)->get()
@Kryten-我可以,但问题是:我通过
$file->hits)访问点击数
将返回资源的数量,而我想筛选具有特定IDI的资源,但我没有太多地使用作用域,但是您能否设置
scopeByUsers
方法并同时应用这两种方法?例如,
Files::ByDate($start,$end)->ByUsers($users)->get()
@Kryten-我可以,但问题是:我通过
$file->hits)访问点击数
将返回资源数量,而我希望筛选具有特定ID的资源