我將資料存盤在我想將日期增加一個月的資料庫中。我已經給出了下面的代碼。第一行插入成功,但之后,資料沒有正確插入。
$startMonth = $wallet_master->created_at;
// 31-5-2022
$endMonth = $wallet_master->created_at->addDays(30);
//30-6-2022
for ($i = 0; $i < $wallet_package->wallet_duration; $i ) {
$data = [
'start_date' => $startMonth,
'end_date' => $endMonth,
];
DB::table('wallet_table')->insert($data);
$startMonth = $endMonth->addDays(1);
$endMonth = $startMonth->addDays(30);
uj5u.com熱心網友回復:
您始終擁有相同的 Carbon 實體,因此您需要存盤格式化的開始日期和結束日期:
$date = $wallet_master->created_at;
$startMonth = $date->format('d-m-Y');
// 31-5-2022
$endMonth = $date->addDays(30)->format('d-m-Y');
//30-6-2022
for ($i = 0; $i < $wallet_package->wallet_duration; $i ) {
$data = [
'start_date' => $startMonth,
'end_date' => $endMonth,
];
DB::table('wallet_table')->insert($data);
$startMonth = $date->addDays(1)->format('d-m-Y');
$endMonth = $date->addDays(30)->format('d-m-Y');
}
uj5u.com熱心網友回復:
$date = $wallet_master->created_at;
for ($i = 0; $i < $wallet_package->wallet_duration; $i ) {
$startMonth = $date->copy()->addMonthsNoOverflow($i)->format('d-m-Y');
$endMonth = $date->copy()->addMonthsNoOverflow($i 1)->subDay()->format('d-m-Y');
DB::table('wallet_table')->insert([
'start_date' => $startMonth,
'end_date' => $endMonth,
]);
}
注意:->copy()如果您使用CarbonImmutable.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/484078.html
