Laravel 4 如何在Laravel中使用whereBetween作为日期

Laravel 4 如何在Laravel中使用whereBetween作为日期,laravel-4,Laravel 4,我正在尝试使用created\u at列获取每周新用户的数量。我试图使用whereBetween语法,但它总是返回0,即使假定它返回其他语法 {{ DB::table('users') ->whereBetween('created_at', array(date("Y/m/d h:i:s", strtotime('sunday last week')), date("Y/m/d h:i:s", strtotime('saturday this week')

我正在尝试使用
created\u at
列获取每周新用户的数量。我试图使用
whereBetween
语法,但它总是返回
0
,即使假定它返回其他语法

{{ DB::table('users')
                ->whereBetween('created_at', array(date("Y/m/d h:i:s", strtotime('sunday last week')), date("Y/m/d h:i:s", strtotime('saturday this week'))))->count(); }}

有什么建议吗?

尽管您可能希望验证在处创建的
列是否为
时间戳
日期
日期时间
类型。创建用户表时,是否使用迁移来创建用户表,如果是,是否指定了
$table->timestamps()?或者您是否手动定义了在
列创建的
,并可能将其设置为字符串

其他几个(不相关的)建议:

•您似乎正在视图中运行此查询,并使用blade响应计数。这种逻辑在其他地方处理得更好,可能在您的用户模型中,结果由控制器传递给视图

•您可以使用PHPs DateTime对象简化查询,将
日期(…strotime…
替换为
日期\u创建(…)


是的,查询将执行,但我没有得到所需的输出。在
列创建的
是一个
时间戳
类型。将
日期(…strotime…
更改为
date\u create
实现了神奇的效果。谢谢
$usersThisWeek = User::whereBetween(
    'created_at', array(
        date_create('sunday last week'), 
        date_create('saturday this week')
    ))->count();