我写了一个查询,其中我将一小时添加到数据库中的日期时间,并根据分钟和小时将该时间与当前时间进行比较。
id| postid |type |status| counter| datetime | autoreposttime
1 | 139 | M | P | 1 | 2017-04-26 10:49:23 | 60
2 | 140 | M | P | 1 | 2017-04-26 10:49:27 | 60
3 | 141 | M | P | 1 | 2017-04-26 10:49:31 | 60
4 | 142 | M | P | 1 | 2017-04-26 10:49:34 | 60
的表结构:
posts
post_id | locationid | priority_time
81 | 1 | 2017-04-20 18:29:17
82 | 27 | 2017-04-20 18:29:19
85 | 27 | 2017-04-20 18:29:07
的表结构:
datetime + 1 hour
这是我编写的SQL查询,我想要检索$posts = DB::table('upgrades')
->join('posts','posts.post_id','=','upgrades.postid')
->where(DB::raw('DATE_FORMAT(DATE_ADD(`upgrades`.`datetime`, INTERVAL 1 HOUR),"%Y-%m-%d %H:%i")'),$datetime)
->select('posts.*','upgrades.*')->get();
等于当前时间的行。
where
我将数据设为null,我认为{{1}}条件存在问题。我的查询出了什么问题?
答案 0 :(得分:1)
一种方法是使用碳。如果我理解正确,你需要指定分钟的结果,所以这里有一个例子:
$time = Carbon::now()->subHour();
$posts = ....
->whereBetween('datetime', [$time->format('Y-m-d H:i:00'), $time->format('Y-m-d H:i:59'])
....
->get();