ejemplo de function crear
Wed Aug 06 2025 13:35:49 GMT+0000 (Coordinated Universal Time)
Saved by @jrg_300i #php #laravel
public function crear(Request $request) { if ($request->isMethod('post')) { DB::beginTransaction(); try { // Primero crea la persona $persona = \App\Models\Personas::create([ 'cedula' => $request->documento, 'nombres' => mb_strtoupper($request->nombres, 'UTF-8'), 'apellidos' => mb_strtoupper($request->apellidos, 'UTF-8'), 'telefono' => $request->telefono, 'email' => $request->email, 'fecha_nacimiento' => $request->fecha_nacimiento ?: null, 'genero_id' => $request->genero_id, ]); // Luego crea el usuario, asignando el persona_id recién creado $usuario = User::create([ 'activo' => true, 'role_id' => 3, 'username' => $request->username, 'password' => Hash::make($request->contrasena), 'fecha_registro' => now(), 'persona_id' => $persona->id, 'user_id' => Auth::id(), // equivalente a Auth::user()->id y más seguro 'ip' => $request->ip(), ]); // Finalmente crea la relación con el ente/instituto $user_ente = \App\Models\UserInstituto::create([ 'user_id' => $usuario->id, 'instituto_id' => $request->instituto_id, 'activo' => true, ]); DB::commit(); return redirect()->route('usuarios.index')->with('success', 'Usuario creado exitosamente'); } catch (\Exception $e) { DB::rollback(); return redirect()->back()->withErrors(['error' => 'Error al crear el usuario: ' . $e->getMessage()]); } // return redirect()->route('usuarios.crear', ['success' => 'Usuario creado exitosamente.']); return redirect()->route('usuarios.index')->with('success', 'Usuario creado exitosamente.'); } else { $Genero = \App\Models\Genero::get()->pluck("nombre", "id"); $Instituto = \App\Models\Instituto::get()->pluck("nombre", "id"); // dd($Ente); return view('users.crear', compact('Instituto', 'Genero')); } }
Comments