firstOrCreate( ['ruta' => 'images/avatar_default.png'], [ 'extension' => 'png', 'nombre' => 'avatar_default', 'mime_type' => 'image/png', 'tamanio_bytes' => 136788, ] ); $persona = Persona::query()->updateOrCreate( ['dni' => $dni], [ 'nombre' => $nombre, 'apellido' => $apellido, 'cuil' => $cuil, 'fechanac' => $fechaNac, 'foto_id' => $foto->id, ] ); $credencial = CredencialProfesional::query()->updateOrCreate( ['usuario' => $usuario], [ 'contra' => Hash::make($passwordPlano), 'rol' => 'ADMIN', ] ); $administrador = Administrador::query() ->where('persona_id', $persona->id) ->orWhere('dni', $dni) ->first(); if ($administrador) { $administrador->update([ 'persona_id' => $persona->id, 'dni' => $dni, 'correo' => $correo, 'pregunta_secreta_hash' => $preguntaSecreta, 'respuesta_secreta_hash' => Hash::make($respuestaSecreta), 'credencialprofesional_id' => $credencial->id, ]); return; } Administrador::query()->create([ 'persona_id' => $persona->id, 'dni' => $dni, 'correo' => $correo, 'pregunta_secreta_hash' => $preguntaSecreta, 'respuesta_secreta_hash' => Hash::make($respuestaSecreta), 'credencialprofesional_id' => $credencial->id, ]); }); } }