public function register($data) { Customer::where('email', $data['email'])->where('email_confirmed', false)->delete(); $customer = new Customer(['email' => $data['email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'password' => $data['password'], 'gender_id' => $data['gender_id']]); $customer->save(); $invoice = ['email' => $data['email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'gender_id' => $data['gender_id'], 'country_id' => config('shop.default_country_id')]; $shipping = $invoice; $invoice['address_kind_id'] = config('shop.invoice_address_kind_id'); $shipping['address_kind_id'] = config('shop.shipping_address_kind_id'); $invoice_address = new CustomerAddress($invoice); $shipping_address = new CustomerAddress($shipping); $customer->customer_addresses()->saveMany([$invoice_address, $shipping_address]); return $customer; }