Entradas

Destacado

PASAR UN ARRAY COMO PARAMETRO A UNA FUNCION DE POSTGRESQL (PARTE UNO)

Hola a todos, les traigo un nuevo problema que tuve con una function en postgresql. Basicamente lo que necesitaba era enviar como parametro de una function un array para posteriormente usarlo. El array se puede pasar como parametro de dos maneras, la primera escribiendo el nombre del array el tipo dato que contendra el array puede ser integer,varchar,text, etc y seguido por dos corchetes. CREATE OR REPLACE FUNCTION esquema.f_datosarray(nombre text[]) RETURNS void AS Para usar el array simplemente accedemos con el nombre del array y entre corchetes escribimos la posicion, cabe aclarar que hasta donde e revisado el array siempre comienza en uno, en caso de estar equivocado por favor me lo hacen saber. nombre[1] Aqui un ejemplo mas completo para que se entienda mejor. CREATE OR REPLACE FUNCTION esquema.f_datosarray(nombre text[]) RETURNS character varying AS $BODY$          DECLARE          dato character varying;          BEGIN                 --obtenemos el dato en la p

Usando la funcion prepareForValidation del FormRequest de laravel 8 para cambiar el la redirección de la validación

Imagen
 Saludos. Para ponerlos en contexto, estoy creando un pequeño formulario para la creación de usuarios, nada del otro mundo. Para poder crear un usuario(users), primero se debe seleccionar a una persona, para lo cual usé un modal, en donde se carga una tabla los datos de la personas(people_entities). Una de las validaciones en el formrequest es que sea requerido seleccionar a una persona. A continuación las reglas: public   function   rules ()     {          return  [              'name'  =>  'bail|required|alpha_dash|unique:App\Models\User,name' ,              'email'  =>  'bail|required|unique:App\Models\User,email' ,              'status'  =>  'bail|required' ,              'password'  => [ 'required' ,  'confirmed' ,  Password :: min ( 8 )             -> letters ()             -> mixedCase ()             -> numbers ()             -> symbols ()             -> uncompromised ()],         

Manejo de formularios en varios tabs en laravel 8 con cookies

Imagen
 En el post anterior explique la forma en que solucione el manejo de formularios en varios tabs en laravel 8 con el uso del cache en laravel 8. El problema en lo personal es que la configuración no era personalizada para cada usuario, para corregir eso utilice cookies. Las cuales se almacenan de forma personalizada en cada navegador. En el controlador UserController en la funcion index creo la cookies de la siguiente forma: public   function   index (){          Cookie :: queue ( 'tabusuario' ,  '1' );          return   view ( 'configuracion.user' , [              'users'  =>  $this -> users ,         ]);     } Cookie::queue('tabusuario','1') permite colocar una cookie en cola para luego adjuntarla cuando la respuesta se envié. Es importante agregar la fachada  use  Illuminate\Support\Facades\ Cookie ; En la vista userEdit.blade.php , en donde están los 3 formularios , uno en cada tab Para las pestañas hago la siguiente validación e

Manejo de formularios en varios tabs en laravel 8

Imagen
 Llevo poco tiempo utilizando lavavel como framework de desarrollo de aplicaciones con lenguaje Php, actualmente estoy usando la version de laravel 8. En lo personal es muy intuitivo , lo recomiendo. Me encontré con una situación, en mi aplicación tengo un pagina para la edición de usuarios, esta cuenta con un tab de 3 pestañas, Formulario, Roles y Permisos. Cuento con 3 formularios, uno en cada pestaña . El problema radica que al enviar cualquiera de los 3 formularios, siempre se va a mostrar el tab 1 del formulario de usuarios. Esto no daría una buena experiencia para le usuario. Para tratar de solucionarlo, intente usar variables de sesión pero obtuve al 100 el resultado que esperaba, por lo tanto opté por el caché. En primer instancia creo una  variable de cache "tabusuario" con el valor de 1 cada vez que llamo al método update del controlador UserController.php. public   function   update ( User   $user , UpdateUserRequest   $request ){          $user -> update ( $req

Agregar y modificar un campo en el form request validation de laravel 8

Imagen
  Lavarel  es uno de los framework de backen mas usado en el lenguaje PHP, algo que ya saben si están buscando  solución a este tipo de problemas. Me encontré con este inconveniente y realicé las consultas necesarias para solucinarlos, espero que les pueda servir y ahorrarles tiempo. Para ponerlos en contexto, tengo un formulario para registrar usuarios create.blade.php con los siguientes campos : dni, name, lastname, lastname2, email, password, status. En mi controlador UserController.php en la función store escribí la lógica para guardar un usuario. public   function   store (R equest   $request ){                 $request -> validate ([              'dni'  =>  'bail|required|numeric|digits:10' ,              'name'  =>  'bail|required' ,              'lastname'  =>  'bail|required' ,              'lastname2'  =>  'bail|required' ,              'email'  =>  'bail|required' ,             

regla unique en form request validation en lavarel 8

Imagen
 Estuve realizando el formulario para actualizar usuarios, para las validaciones usé un  form request validation  UpdateUserRequest.php el cual quedo de la siguiente manera. La función authorize debe estar en true para que se puedan ejecutar las demás acciones. public   function   authorize ()     {          return   true ;     } Se establecieron las reglas de validación. se tienen dos campos con atributos únicos los cuales son: dni, email para lo cual se va a usar el metodo unique. La novedad es que cuando se se  envía el formulario para validar, este detecta el dni y el email como valores ya existentes. Por ende se necesita que se realice la validación con una excepción ignorando los campos dni y email con los mismos valores pertenecientes al mismo usuario.      public   function   rules ()     {          return  [              'dni'  =>  'bail|required|numeric|digits:10|unique:App\Models\User,dni,exception,' . $this -> get ( 'id' ),              'na

Solución para usar función make_interval en postgresql 9.3

La funcion make_interval   fue agregada desde la versión postgresql 9.4 en adelante, permite convertir un valor ya sea character varying, integer o cualquier otro, en un tipo de dato interval. El tipo de dato interval es muy util para trabajar con operaciones con fechas, por ejemplo: Si queremos restarle un mes a una fecha cualquiera, hay muchos aspectos que hay que considerar ,como el que todos los meses no tienen la misma cantidad de días. #Select date '2017-07-20' - interval '1 month' as fecha; Se obtiene de respuesta : "2017-06-20 00:00:00" #Select date '2017-03-31' - interval '1 month'; Se obtiene de respuesta : "2017-02-28 00:00:00" Si observamos el primer ejemplo se puede observar que al restarle un mes  con el tipo de dato interval el sistema se encarga propia mente de hacer el calculo. El segundo ejemplo explica mucho mejor la potenciabilidad del tipo de dato interval ,.el cual determina cuantos dias restarles