PHP Laravel-查询范围-其中ID包含值
我有两个桌子和模型: 1) 档案 2) 拜访 使用查询范围,我可以获得特定日期的总访问次数: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
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的资源