【问题标题】:How to retrive all the data based on current month of all the weeks in laravel?如何根据laravel中所有星期的当前月份检索所有数据?
【发布时间】:2020-03-17 19:39:50
【问题描述】:

我需要根据周检索所有记录。

数据可能是这样的:

array(
numberofweaks:5
weak_1 = [2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42]
weak_2 = [2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42]
weak_3 = [2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42]
weak_4 = [2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42]
weak_5 = [2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42, 2019-11-21 22:00:42]
)

尝试了很多参考,但没有一个有效。

试过了,不行:

$monthOfWeaks = DB::table("UserDetails")
    ->whereBetween('creationdate', [Carbon::now()->subWeek(4)->format("Y-m-d H:i:s"), Carbon::now()])
    ->get();

请分享您的参考!!

【问题讨论】:

  • 你遇到了什么错误?
  • 你的问题描述有点弱...

标签: php sql laravel


【解决方案1】:

首先,如果你说的“弱”是指7天的时间段,那么这个词实际上是“周”。

然后,您在 Carbon 上使用方法 subWeek(4)。此方法不接收任何参数(因为它应该只有一周),如果您想减去很多周,请改用subWeeks($int)。检查the docs

Carbon::now()->subWeeks(4);

最后,您不需要格式化日期,只需传递实例即可。所以你的查询应该是这样的:

$data = DB::table("UserDetails")
    ->whereBetween('creationdate', [now()->subWeeks(4), now()])
    ->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-15
    • 2021-11-24
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2022-11-17
    相关资源
    最近更新 更多