user()->cannot('create', Company::class)) { abort(403, 'Unauthorized action'); } $company = false; $request->enum('type', CompanyType::class); $validated = $request->validate([ 'name' => 'required|max:255', 'email' => 'required|email|unique:companies', 'phone' => 'required', 'inn' => 'required|unique:companies', 'legal_address' => 'required', 'type' => Rule::enum(CompanyType::class), 'city_id' => 'required' ]); $request->request->add([ 'secret' => bin2hex(random_bytes(16)), 'status' => 'new' ]); $data = $request->only('name', 'email', 'inn', 'legal_address', 'secret', 'status', 'type', 'phone', 'city_id'); try { $company = Company::create($data); } catch (\Exception $e) { if ($e->getMessage() == 'Error of bitrix identifier getter') { return back()->withErrors(['msg' => 'Не удалось отправить данные на проверку. Попробуйте позже'])->withInput(); } return back()->withErrors(['msg' => 'Не удалось создать агентство. Попробуйте позже'])->withInput(); } return view('main::company.created'); } }