如何根据预定义的日期显示数据
How to display data based on a predefined date
$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' => []
]);
}
我这里有数据,数据是date_bast,现在我找到了一种方法可以根据这个月检索数据,如果过了这个月,数据就会丢失,这里我没有知道如何显示本周的数据,例如tgl_bast结束于2021-01-25 所以25号之前,25号前7天数据出现,25号之后数据就没有了。
您可以使用 MySQL 中的 DATEDIFF(expression1, expression2)
。示例:SELECT * FROM bast WHERE DATEDIFF(CURRENT_DATE, tgl_bast) <= 7
.
Eloquent 型号:
$data_bulan = Bast::where(DB::raw('DATEDIFF(CURRENT_DATE, tgl_bast)'), '<=', 7);
首先获取当前日期数据,然后获取当前日期数据加上 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();
$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' => []
]);
}
我这里有数据,数据是date_bast,现在我找到了一种方法可以根据这个月检索数据,如果过了这个月,数据就会丢失,这里我没有知道如何显示本周的数据,例如tgl_bast结束于2021-01-25 所以25号之前,25号前7天数据出现,25号之后数据就没有了。
您可以使用 MySQL 中的 DATEDIFF(expression1, expression2)
。示例:SELECT * FROM bast WHERE DATEDIFF(CURRENT_DATE, tgl_bast) <= 7
.
Eloquent 型号:
$data_bulan = Bast::where(DB::raw('DATEDIFF(CURRENT_DATE, tgl_bast)'), '<=', 7);
首先获取当前日期数据,然后获取当前日期数据加上 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();