【问题标题】:How to display data based on a predefined date如何根据预定义的日期显示数据
【发布时间】:2021-04-10 19:16:14
【问题描述】:
$data_bulan = Bast::whereYear('tgl_bast', date('Y'))->whereMonth('tgl_bast', date('m'))->get();
if ($data_bulan) {
    return response()->json([
        'status'  => true,
        'message' => 'Data ditemukan',
        'data'    => [
            'data_mingguan' => [],
            'data_bulan' => $data_bulan
        ]
    ]);
} else {
    return response()->json([
        'status'  => false,
        'message' => 'Data tidak ditemukan',
        'data'    => []
    ]);
}

这里我有data是date_bast的数据,现在我找到了一种方法来检索这个月的数据,如果过了这个月数据就会丢失,这里不知道如何显示本周的数据数据,例如 tgl_bast 在 2021-01-25 结束 所以在 25 日之前,25 日之前的 7 天数据出现,直到 25 日之后数据不再出现。

【问题讨论】:

    标签: laravel api lumen


    【解决方案1】:

    您可以使用 MySQL 中的DATEDIFF(expression1, expression2)。示例:SELECT * FROM bast WHERE DATEDIFF(CURRENT_DATE, tgl_bast) <= 7

    雄辩的模型:

    $data_bulan = Bast::where(DB::raw('DATEDIFF(CURRENT_DATE, tgl_bast)'), '<=', 7);
    

    【讨论】:

    • 请用英文好吗。
    • 我已经更改了答案。请原谅我没有使用英语。
    【解决方案2】:

    首先获取当前日期数据,然后获取当前日期数据加上 7 天,然后您可以在查询模型中使用 whereBetween。

    $a = date('Y-m-d');
    $b = date('Y-m-d',strtotime('+7 days'));
    $range = [$a, $b];
            
    $data_mingguan = Bast::whereBetween('tgl_bast', $range->orderBy('tgl_bast','asc')->get();
    

    【讨论】:

      猜你喜欢
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2023-01-11
      相关资源
      最近更新 更多