Есть ли способ выполнить пробный прогон в Laravel при сохранении?
Допустим, у меня есть 2 модели, Booking
и BookingDetails
. Я не хочу, чтобы один из них сохранялся без другого.
Сейчас я заполняю сбережения вот так:
// Create new booking
try
{
$booking = with(new Booking)->fill(request()->all())->save();
$bookingDetails = with(new BookingDetails)->fill(request()->all())->save();
}
catch (\Exception $e)
{
// Die quietly
}
В идеале я хочу иметь возможность проверить, что сохранение будет работать в первую очередь, потому что, если сохранение бронирования не работает, я не хочу сохранять детали. Тогда, если детали не могут быть сохранены, я не хочу сохранять бронирование в первую очередь, я просто хочу выдать ошибку и сохранить ничто , если любой из них не удастся.
Есть ли какой-нибудь способ, которым я могу выполнить пробный прогон и проверить работу всех сохранений, и если они это делают, и все они в порядке, за исключением реального? Вместо того, чтобы делать что-то подобное
// Create new booking
try
{
$booking = with(new Booking)->fill(request()->all())->save();
try
{
$bookingDetails = with(new BookingDetails)->fill(request()->all())->save();
}
catch (\Exception $ex)
{
// Find the booking here and delete, because the details cant be saved
}
}
catch(\Exception $e)
{
// Die quietly
}