Laravel 3 - 查询同一天的开始和结束日期的最佳方法是啥
Posted
技术标签:
【中文标题】Laravel 3 - 查询同一天的开始和结束日期的最佳方法是啥【英文标题】:Laravel 3 - What's the best way to query start and end dates that are the same dayLaravel 3 - 查询同一天的开始和结束日期的最佳方法是什么 【发布时间】:2014-01-01 22:06:19 【问题描述】:我有一个用 Laravel 3 编写的网络应用程序。在这个应用程序中,模型之一是“活动”。这些活动都有开始日期和结束日期字段。我想知道查询所有在同一天开始和结束的活动的最佳方法是什么?
-- 更新--
我使用的是 mysql,字段类型都是 Timestamp...
我目前拥有的:
...
$activitySchedule = ActivitySchedule::with(array('location'))->where(function($query)
// Query activities that start and end today
$yesterday = date('Y-m-d', strtotime('today')) . ' 00:00:00';
$tomorrow = date('Y-m-d', strtotime('today')) . ' 23:59:59';
$query->where('starts', '>', $yesterday);
$query->where('ends', '<', $tomorrow);
);
...
我认为这可以正常工作,但我想知道是否有更精确的方法?
【问题讨论】:
那么,所有开始日期等于结束日期的活动? 你在使用 eloquent(模型是否扩展它?)? 请编辑您的问题并添加更多信息.. 使用 eloquent?什么日期字段类型..你试过什么?哪个数据库? @amirbar - 我已经更新了我的问题。对不起,不够清楚。我希望它现在更有意义。 【参考方案1】:您应该使用 Carbon 包,它可以让您像这样获得 startOftheDay
和 endoftheday
:
$StartofDay = Carbon::now()->startOfDay();
$EndofDay = Carbon::now()->endOfDay();
完成此操作后,使用 where 条件查询您的模型,该条件涉及使用 StartofDay
和 EndofDay
值以及 created_at
列进行检查的条件。
在这里找到碳包:https://github.com/briannesbitt/Carbon
希望对你有帮助。!!
【讨论】:
以上是关于Laravel 3 - 查询同一天的开始和结束日期的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章
oracle 如何查询两个时间段里的每一天数据之和。(只有开始日期和结束日期,没有每一天日期)
java中想获取前一天的开始和结束的两个毫秒数,请问分别怎样获取???????