【问题标题】:How to select from database using laravel where clause and created_at如何使用 laravel where 子句和 created_at 从数据库中进行选择
【发布时间】:2017-09-11 15:47:01
【问题描述】:

我想使用 laravel db 查询或 Eloquent ORM 选择数据库中的所有数据。所以我想要从创建之日起 3 天以外的所有数据。数据“A”是在 15 日创建的,我在 16 日来检查,我不会看到数据“A”,但我可能会看到其他人超过 3 天或等于 3 天。如果我在 18 日或 19 日回来,我应该会看到数据“A”,显然是因为它现在已经超过 3 天或等于。 所以我写了这段代码在下面不起作用

$users = DB::table('matched_users')->where( 'created_at', '>=',
 Carbon::now()->subDays(3)); 

任何人都可以为我纠正这个问题。

当我这样做时,它起作用了,但它向两个人表明他的约会只是第一天。那是不是代码不够呢

Data Name - created_at
ozil        21/04/2012 16:09:22
mark        21/04/2012 16:09:22
cyril       22/04/2012 16:19:21

所以今天是 25/04/2012 如果运行运行上述查询的查询,我会得到所有结果。

但如果将>= 更改为<=,则结果是一个空集合

【问题讨论】:

  • @Snorehorse 我刚刚做了

标签: php mysql laravel eloquent php-carbon


【解决方案1】:

我猜你的意思是“从他们创建之日起超过 3 天”。在这种情况下,查询应如下所示:

DB::table('matched_users')->where('created_at', '<=', Carbon::now()->subDays(3)); 

【讨论】:

    【解决方案2】:
    $users = DB::table('matched_users')->whereDate( 'created_at', '<=', Carbon::now()->subDays(3))->get();
    

    是写代码的正确方式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 2019-04-10
      • 1970-01-01
      相关资源
      最近更新 更多