Сохранение данных отношений в модели - PullRequest
0 голосов
/ 28 апреля 2020

Это функция моего магазина, Laravel 5.5

Здесь сначала я сохраняю адрес сначала, затем учетную запись, после чего я могу прикрепить идентификатор учетной записи к идентификатору адреса.

Но если при сохранении произошла ошибка, данные адреса учетной записи будут созданы, а учетной записи нет,

Учетная запись имеет однозначное отношение с адресом,

Есть ли способ сохранить, если при сохранении возникла ошибка при сохранении адреса учетной записи или он вообще не сохраняется,

Спасибо.

public function store(Request $request){

    $address_save = false;
    $account_save = false;


    ///////After Validation//////

    $address = new Address;
    $address->shipping_address1 =  $request->shipping_address1;
    $address->shipping_address2 =  $request->shipping_address2;
    $address->area_id =  $request->area_id;
    $address->city_id =  $request->city_id;
    $address->shipping_state =  $request->shipping_state;
    $address->shipping_pincode =  $request->shipping_pincode;
    $address->shipping_country =  $request->shipping_country;
    $address->billing_address1 =  $request->billing_address1;
    $address->billing_address2 =  $request->billing_address2;
    $address->billing_area =  $request->billing_area;
    $address->billing_state =  $request->billing_state;
    $address->billing_city =  $request->billing_city;
    $address->billing_pincode =  $request->billing_pincode;
    $address->billing_country =  $request->billing_country;
    $address->same_as_shipping =  $shipping;

    $address_save = $address->save();

    $address_id = $address->id;


    $account = new Account;
    $account->title = $request->title;
    $account->fullname = $request->fullname;
    $account->username = $request->username;
    $account->password = $request->password;
    $account->company = $request->company;
    $account->mobile = $request->mobile;
    $account->alt_number = $request->alt_number;
    $account->email = $request->email;
    $account->whatsapp = $request->mobile;
    $account->pan = strtoupper($request->pan);
    $account->gstin = strtoupper($request->gstin);
    $account->registered_at = date("Y-m-d h:i:sa");

    $account->address_id = $address_id;
    $account_save = $account->save();

    $account_id = $account->id;
...