如何用filter筛选出指定的月份呢?
time
字段里存是的2022-05
这种包含月份的数据,我现在要怎么处理一下,可以只筛选年份呢?
$company_powers = QueryBuilder::for($query)
->allowedIncludes('user')
->allowedFilters([
'time',
AllowedFilter::scope('withOrder')->default('recent'),
])
->paginate();
如下这么写是不是很费资源:
$company_powers = QueryBuilder::for($query)
->allowedIncludes('user')
->allowedFilters([
where('time', 'like', '%' . $query),
AllowedFilter::scope('withOrder')->default('recent'),
])
->paginate();
数据量大并且时间查询很多的话,最好是存一个
timestamp|datetime
字段并加索引,展示的时候转换下,查也好查我用的是增加年月日三个字段 并且建一个组合索引
直接一个wereIn('time',['2022-01','2022-02',...])
$query->whereYear('time', '2022')->whereMonth('time','05')->get()