Laravel Carbon给我0个结果

时间:2018-05-22 17:15:12

标签: php laravel eloquent php-carbon

我需要为数据库中的用户抓取这个月的数据,所以我写道:

Carbon::now()->subMonth()

我得到0结果......

当我尝试{{1}}时它的效果很好,但最后30天还给我了......

我怎么解决这个问题?如何只获得这个月的数据?

1 个答案:

答案 0 :(得分:3)

->toDateString()导致查询查找string值,而不是date。有两种方法可以解决这个问题:

(...)->where('created_at', '>=', Carbon::now()->startOfMonth())
// OR
(...)->whereDate('created_at', '>=', Carbon::now()->startOfMonth()->toDateString())

如果您只使用Carbon变量,Laravel知道检查date逻辑。或者,如果您使用的是string,则可以使用where覆盖date逻辑,将其视为->whereDate()