#php #mysql #laravel #voyager
Вопрос:
Я работаю над проектом laravel и пытаюсь дублировать запись в базе данных mysql. после репликации я хочу установить значение поля равным null(appointment_status). все работает, за исключением того, что значение новой записи (appointment_status) совпадает с исходной записью, даже если я установил для нее значение null.
$newAppointment = $appointment->replicate();
//push to get the id for the cloned record
$newAppointment->push();
$newAppointment->duplicated_from_id = $appointment->id;
$newAppointment->appointment_status = null;
$newAppointment->save();
//updating the old appointment
$appointment->duplicated_to_id = $newAppointment->id;
$appointment->save();
Ответ №1:
Вместо целого блока кода попробуйте что-нибудь вроде этого:
// replicate as the new record with some different fields
$newAppointment = $appointment->replicate()->fill([
'duplicated_from_id' => $appointment->id,
'appointment_status' => null,
])->save();
// update some fields of initial original record
$appointment->update([
'duplicated_to_id' => $newAppointment->id,
]);
Для получения дополнительной информации ознакомьтесь с этим.