【问题标题】:Mysql count when comparing date laravel比较日期laravel时的Mysql计数
【发布时间】:2017-10-08 19:10:57
【问题描述】:

我的查询-

 $today = date("Y-m-d");
 $Reminder = Status::where('change_status_to', '=', $today)->count();

如果日期是今天或 1 天前的日期或日期超过今天的日期,我想得到提醒。

【问题讨论】:

  • 比使用 OR 放置三个条件
  • 当我使用 orWhere 时,如果我应该得到提醒 1 我得到然后 3.. count() 增加了这种情况:(
  • 能否给出完整的查询和样本数据以及你得到什么和你想要什么
  • 我们不知道您的数据是什么样的,我们不知道输出应该是什么。您希望我们如何以这种方式帮助您?

标签: mysql sql laravel


【解决方案1】:

如果你想统计昨天和今天的状态,也许可以使用它。你只需要碳。

$reminder = Status::whereBetween('change_status_to', [Carbon::now()->subDay(), Carbon::now()])->count();

【讨论】:

    【解决方案2】:

    那么,您想要所有比昨天更新的状态吗?

    要比较日期,您可以使用 Carbon library,它包含在 Laravel 中。

    $Reminder = Status::whereBetween('change_status_to', [\Carbon\Carbon::now()->addDays(-1)->startOfDay(), \Carbon\Carbon::now()->endOfDay()])->count();
    

    【讨论】:

    • 最好使用 subDay() 而不是 addDays(-1)。
    • 在内部,是一样的 :)
    【解决方案3】:

    怎么样?

    $today = date("Y-m-d");
    $Reminder = Status::whereDate('change_status_to', $today)->count();
    

    【讨论】:

      猜你喜欢
      • 2015-11-10
      • 2011-04-28
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 2013-02-09
      • 1970-01-01
      相关资源
      最近更新 更多