我目前的代码设置所有当前提醒(4),作为同一日期。我该如何区分这87天。
foreach ($request->pets as $pet) {
$clientPet = $client->pets()->find($pet)->first();
$clientPet->name = $pet['name'];
$clientPet->treated_at = $pet['treatedAt'];
$clientPet->save();
foreach($clientPet->reminders as $reminders)
{
$reminders->scheduled_at = Carbon::createFromFormat('Y-m-d', $clientPet->treated_at)->addWeeks(12)->subDays(3);
$reminders->product_id = $pet['productId'];
$reminders->application_id = $pet['applicationId'];
$reminders->save();
}
}发布于 2018-10-30 11:22:23
您没有在代码中保留对最后一个日期的引用,但是您总是将87天(或多天)添加到原来的日期,因此请尝试如下
$date = Carbon::createFromFormat('Y-m-d', $clientPet->treated_at);
foreach($clientPet->reminders as $reminder)
{
$reminder->scheduled_at = $date->addDays(87);
$reminder->product_id = $pet['productId'];
$reminder->application_id = $pet['applicationId'];
$reminder->save();
}由于碳是可变的,每一个$reminder将比前一个多87天。
发布于 2018-10-30 11:32:21
使用这个
foreach ($request->pets as $pet) {
$clientPet = $client->pets()->find($pet)->first();
$clientPet->name = $pet['name'];
$clientPet->treated_at = $pet['treatedAt'];
$clientPet->save();
foreach($clientPet->reminders as $reminders)
{
$reminders->scheduled_at = Carbon::createFromFormat('Y-m-d', $clientPet->treated_at)->addDays(10);
$reminders->product_id = $pet['productId'];
$reminders->application_id = $pet['applicationId'];
$reminders->save();
}
}https://stackoverflow.com/questions/53062809
复制相似问题