mysql表数据如下:
假设参数传过来两个时间(单位是秒)
time1=60 和 time2=120
就是计算两个字段时间戳的差值是否在between里面
laravel或者mysql应该如何进行条件筛选找到相应的数据,希望有人可以给一个思路和写法,挺急的
mysql表数据如下:
假设参数传过来两个时间(单位是秒)
time1=60 和 time2=120
就是计算两个字段时间戳的差值是否在between里面
laravel或者mysql应该如何进行条件筛选找到相应的数据,希望有人可以给一个思路和写法,挺急的
Table::all()->filter(function ($item) {
$diffSeconds = Carbon::parse($item->start_time)->diffInSeconds($item->end_time);
if ($diffSeconds >= 60 && $diffSeconds <= 120) return $item;
});
15 回答8.4k 阅读
4 回答4.4k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
1 回答2.9k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
这里假定你的
start_time
和end_time
的字段类型是DATETIME
或者TIMESTAMP
请注意,如果你的表的数据量很大,建议直接把
start_time
和end_time
的差值直接存为单独字段,根据实际情况也要考虑建索引,因为这个在字段上使用函数并运用在查询条件中的办法,必然会触发全表扫描,在数据量大的情况下会有性能问题