Recoger datos formulario registro, procesarlos y enviar a API

Estoy empezando a trabajar con prestashop y hay demasiadas cosas que aún no consigo hacer.

Estoy intentando recoger los datos que introduce el usuario cuando se registra (Formulario de registro estandard), mediante un módulo que se activa con el hook de registro(AcionCustomerAccountAdd) para posteriormente dar formato y enviar estos datos a una API externa, aprovechando el registro estandar de PrestaShop.

He probado bastantes maneras de hacerlo, pero parece que ninguna es la correcta. Cada vez que le doy a registro me salta HTTP ERROR 500 y no me recoge ningún dato (el registro normal de prestshop si que lo acaba procesando y me crea un usuario nuevo en la bbdd.

Actualmente tengo esta función en el módulo:

public function hookActionCustomerAccountAdd() {     $  httpClient = HttpClient::create( ['auth_basic' => ['APIKEY', 'APIUSER '], 'headers' => [         'Content-Type' => 'application/json',         'Accept' => 'application/json'     ]]);      $  mail = Tools::getValue('email');     $  firstname = Tools::getValue('firstname');     $  lastname = Tools::getValue('lastname');     $  cellphone = Tools::getValue('numero');     $  date = getdate();      $  data = array(             "email"=>$  mail,             "date"=>$  date,             "firstname" =>$  firstname,             "lastname"=>$  lastname,             "lang"=> "es",             "cellphone"=>$  cellphone );       $  data_json = json_encode($  data); 

La lógica que aplico es; conectarme a la API por HttpClient, recoger datos con los gets, ponerlos en un array y transformarlo json para enviarlo a la API posteriormente. Pero creo que la lógica no es correcta.

Agradecería cualquier ayuda o orientación.

Mostrar apenas 1 registro por vez com botão para ir para o seguinte

Boa noite a todos.

Gostaria de: Mostrar registros sequencialmente, (1 por vez), em uma página web para um conjunto de mais de 100 mil registros. Consigo mostrar todos de uma vez, mas gostaria de apenas 1 por vez com botão ir para o próximo. Minha tabela é unica e tem 22 campos.

<?php $  conexao = mysqli_connect('localhost', 'aiseco14_america', 'Aise15481415*', 'aiseco14_cedato');  $  sql = $  conexao->query("Select cnpj, empresas, obs, data From empresas"); if($  sql){ // If $  sql is True     while($  exibe = $  sql->fetch_assoc()){         foreach($  exibe as $  key => $  value){             echo "<br />" . $  value;         }}} ?>  

Coloquei 3 campos apenas para ilustrar. inserir a descrição da imagem aqui

Desde já agradeço as orientações

Como puedo volver a usar el select que use para agregar un registro y lo use en el actualizar

Tengo una tabla user que esta relacionada 1 a muchos con otras 4 tablas, ya tengo el select que me trae los datos de las tablas foraneas(profile, udn, statustypey usertype ) y ahora quiero que a la hora de editar el registro me aparesca de nuevo ese select para poder elegir otra opcion Este es mi controllador User

public function index() {     return view("user.index")->with("users", User::orderBy('id', 'DESC')->paginate(5)); }  /**  * Show the form for creating a new resource.  *  * @return \Illuminate\Http\Response  */ public function create() {     $  profile = Profile::all();     $  statustype = StatusType::all();     $  udn = Udn::all();     $  usertype = UserType::all();     return view('user.create', compact('profile', 'statustype', 'udn', 'usertype')); } /**  * Store a newly created resource in storage.  *  * @param  \Illuminate\Http\Request  $  request  * @return \Illuminate\Http\Response  */ public function store(CreateUserRequest $  request) {     $  user=new User;     $  profile=new Profile;     $  statustype=new StatusType;     $  udn=new Udn;     $  usertype=new UserType;     $  user->first_name=$  request->first_name;     $  user->last_name=$  request->last_name;     $  user->email=$  request->email;     $  user->password=$  request->password;     $  user->profile_id=$  request->profile_id;     $  user->status_type_id=$  request->status_type_id;     $  user->udn_id=$  request->udn_id;     $  user->user_type_id=$  request->user_type_id;     $  user->save();        return redirect("panel/user"); }  /**  * Display the specified resource.  *  * @param  int  $  id  * @return \Illuminate\Http\Response  */ public function show($  id) {        $  user=User::findOrFail($  id);     return view('user.show', compact('user')); } /**  * Show the form for editing the specified resource.  *  * @param  int  $  id  * @return \Illuminate\Http\Response  */ public function edit($  id) {        $  user=User::findOrFail($  id);     return view('user.edit', compact('user')); } /**  * Update the specified resource in storage.  *  * @param  \Illuminate\Http\Request  $  request  * @param  int  $  id  * @return \Illuminate\Http\Response  */ public function update(CreateUserRequest $  request, $  id) {     $  user=User::findOrFail($  id);     $  user->update($  request->all());     return redirect("panel/user"); }  /**  * Remove the specified resource from storage.  *  * @param  int  $  id  * @return \Illuminate\Http\Response  */ public function destroy($  id) {     $  user=User::findOrFail($  id);     $  user->delete();     return redirect("panel/user"); } 

}

Esta es mi vista edit donde solo pinto en su value en un input quiero un select para modificarlo

<form method="post" action="{{route('user.update', $  user->id)}}" id="form-search">         {{ csrf_field() }}          <div>        <label for="">Nombre: </label>        <input type="text" class="form-control" name="first_name" value="{{$  user->first_name}}">        <input type="hidden" name="_method" value="PUT">     </div>     <div>         <label>Apellidos: </label>         <input type="text" class="form-control" name="last_name" value="{{$  user->last_name}}">     </div>             <div>         <label>Correo: </label>         <input type="text" class="form-control" name="email" value="{{$  user->email}}">     </div>             <div>         <label>Password: </label>         <input type="password" class="form-control" name="password" value="{{$  user->password}}">     </div>      <div>         <label>Perfil: </label>         <input type="text" class="form-control" name="profile_id" value="{{$  user->profile_id}}">     </div>     <div>         <label>Tipo de estado: </label>         <input type="text" class="form-control" name="status_type_id" value="{{$  user->status_type_id}}">     </div>      <div>         <label>Udn: </label>         <input type="text" class="form-control" name="udn_id" value="{{$  user->udn_id}}">     </div>      <div>         <label>Tipo de usuario: </label>         <input type="text" class="form-control" name="user_type_id" value="{{$  user->user_type_id}}">     </div>           <br>     <div>         <button type="submit" class="btn btn-primary">Actualizar</button>         <button type="submit" class="btn btn-primary">Cancelar</button>     </div> </form>      

Y esta es mi vista donde uso el select para agregar el registro

     <form method="post" action="{{route('user.store')}}" class="" id="form-search">         {{ csrf_field() }}     <div>         <label>Nombre: </label>         <input type="text" class="form-control" name="first_name">     </div>             <div>         <label>Apellidos: </label>         <input type="text" class="form-control" name="last_name">     </div>             <div>         <label>Correo electrónico: </label>         <input type="email" class="form-control" name="email">     </div>             <div>         <label>Contraseña: </label>         <input type="password" class="form-control" name="password">     </div>             <div>         <label>Perfil: </label>         <select class="form-control" name='profile_id'>            <option value="" selected disabled>---Selecciona una opción---</option>             @foreach($  profile as $  profile)                <option value='{{ $  profile->id }}'> {{ $  profile->name }} </option>            @endforeach         </select>     </div>     <div>         <label>Tipo de estatus: </label>         <select class="form-control" name='status_type_id'>            <option value="" selected disabled>---Selecciona una opción---</option>             @foreach($  statustype as $  statustype)                 <option value='{{ $  statustype->id }}'> {{ $  statustype->name }} </option>            @endforeach         </select>     </div>              <div>         <label>Udn: </label>         <select class="form-control" name='udn_id'>            <option value="" selected disabled>---Selecciona una opción---</option>             @foreach($  udn as $  udn)                 <option value='{{ $  udn->id }}'> {{ $  udn->name }} </option>            @endforeach         </select>      </div>           <div>         <label>Tipo de usuario: </label>         <select class="form-control" name='user_type_id'>            <option value="" selected disabled>---Selecciona una opción---</option>             @foreach($  usertype as $  usertype)                 <option value='{{ $  usertype->id }}'> {{ $  usertype->name }} </option>            @endforeach         </select>     </div>          <br>     <div>         <button type="submit" class="btn btn-primary">Guardar</button>         <button type="submit" class="btn btn-primary">Cancelar</button>     </div> </form>  

Alguien que me ayude gracias de antemano

Posicionarse en un registro de datagridview determinado que habia sido seleccionado para ser modificado en otra pantalla

Tengo un datagridview con registros de pacientes que muestra en la primer columna el id del paciente. Cuando hago doble clic sobre algun registro, se abre una pantalla con todos los datos de ese paciente. El tema es que cuando cierro esta pantalla, necesito que se seleccione en el datagridview de pacientes, el registro del paciente sobre el que hice doble clic. ¿Cómo puedo lograrlo con c# escritorio?

¿Cómo hacer una consulta en SQL agrupada en un solo registro en MYSQL?

Buenos Noches estoy sufriendo con una consulta que estoy implementando a mi sistema. Actualmente tengo las siguientes tablas:

Actividades: introducir la descripción de la imagen aquí

Tareas: introducir la descripción de la imagen aquí

La tabla Tareas tiene el idactividad como foránea de la tabla Actividades. Lo que quiero hacer es mostrar el porcentaje de las tareas de cada actividad.

Por ejemplo: la “Actividad 1” tiene “3 Tareas” las cuales están en estado Realizado por ende el avance de la Actividad sería 100%, si 1 tarea hubiera tenido el otro estado (Pendiente), la Actividad tendría un avance de 66.66 aprox.

Espero su apoyo. Gracias

Al guardar registros en forma de matriz con Laravel, solo guarda el ultimo registro

Estoy intentando guardar una matriz en laravel pero solo guarda el ultimo registro, me explico mejor:

Estoy haciendo un aula virtual donde guardo módulos y clases, dentro de módulos hay distintas clases con sus respectivo titulo, descripción, etc. En fin el problema es que siempre que intento guardar todos los datos, solo guarda el ultimo

Ej: Si estoy guardando 3 módulos y dentro de esos módulos cada uno tiene 1 clases, entonces solo guarda el modulo 3 y la segunda clase del modulo 3.

El codigo de mi controlador es el siguiente:

$  modulo = new Module; $  temas  = new Theme; $  i = 0;      foreach ($  request->nombremodulo as $  key) {           $  modulo->course_id = $  request->idcurso;         $  modulo->name      = $  key;         echo $  key . "<br>";         $  modulo->save();                     $  j = 0;          foreach($  request->title[$  i] as $  key2){             //Obtengo el nombre             $  nombreArchivo      = $  request->file('archivos')[$  i][$  j]->getClientOriginalName();              $  temas->module_id   = $  modulo->id;             $  temas->title       = $  key2;             $  temas->description = $  request->area[$  i][$  j];             $  temas->file        = $  nombreArchivo;             $  temas->save();             $  j++;         }           $  i++;     } 

Ahora si se preguntan si estan llegando los datos al controlador, si hago un dd() esto es lo que me muestra:

introducir la descripción de la imagen aquí

Se los pongo también “ordenados” de esta manera y su respectivo código Ejemplos en imagenes

        $  i = 0;      foreach ($  request->nombremodulo as $  key) {          echo "<br>___________________________<br>";         echo $  key . "<br>";         echo "________________________________<br>";          $  j = 0;         foreach($  request->title[$  i] as $  key2){               echo "Clase:  " . $  key2 . "<br>";             echo  $  request->area[$  i][$  j] . "<br>";             echo "=======================================<br>";              $  j++;         } 

Las imágenes son para ilustrar la manera como llegan los datos al controlador, y que puedan observar que los datos están llegando correctamente el problema es que solo guarda el ultimo “registro” como les comento.

Como pegar o valor de um registro sql e armazenar em variável PHP

Tenho uma tabela sql da seguinte forma:

usuario  (`matricula` varchar(20) not null primary key,   `nome` varchar(45) NOT NULL,   `senha` varchar(15) NOT NULL); 

No php estou tentando pegar o nome de um usuário que tenha a matrícula especificada pelo mysqli:

$  nomeUsuario = mysqli_query($  conexao, "SELECT nome FROM usuario WHERE matricula = $  matricula"); 

Porém não está dando muito certo, mesmo utilizando o mysqli_fetch_assoc.

Alguma ideia do que esteja errado?

¿Porque no funciona la herramienta sweetalert2 en mi componente vue para cambiar estado a un registro?

¡Buenas noches!; tengo en mi componente vue (Categoria.vue) implementado dos funciones que se llaman “desactivarCategoria() y activarCategoria()”; la idea es que al dar un click en el botón desactivar que esta en el dibujo que adjunto del botón con el candado de color rojo cambie del estado a la catgoría, para ellos uso la herramienta de mensajes personalizajes que se llaman sweetalert2 que su pagina oficial es:

Sweetalert2

y para la instalación de esta herramienta de sweetaalert2, de las opciones que aparecen en la parte izquierda seleccione “instalation / instalar” en la parte de arriba escogi jsdeliver CDN instalaller que me abrío una nueva ventana: (con un nuevo link)

jsdelivr.com/package/npm/sweetalert2

en donde en la opción npm CDN File en la primera opción abri el archivo y di guardar como una vez al guardar guarda el archivo en la ruta de mi proyecto laravel /resources/plantilla/js/sweetalert2.all.min.js; y en el archivo webpack.mix.js de mi proyecto hice referencia del archivo para cuando lo compile con npm run dev, y luego con php artisan serve haga referencia a la herramienta sweetalert2, lo que adjunto el código del archivo “webpack.mix.js”

const mix = require('laravel-mix');  /*  |--------------------------------------------------------------------------  | Mix Asset Management  |--------------------------------------------------------------------------  |  | Mix provides a clean, fluent API for defining some Webpack build steps  | for your Laravel application. By default, we are compiling the Sass  | file for the application as well as bundling up all the JS files.  |  */  mix.styles([     'resources/plantilla/css/font-awesome.min.css',     'resources/plantilla/css/simple-line-icons.min.css',     'resources/plantilla/css/style.css' ], 'public/css/plantilla.css') .scripts([     'resources/plantilla/js/jquery.min.js',     'resources/plantilla/js/popper.min.js',     'resources/plantilla/js/bootstrap.min.js',     'resources/plantilla/js/Chart.min.js',     'resources/plantilla/js/pace.min.js',     'resources/plantilla/js/template.js',     'resources/plantilla/js/sweetalet2.all.min.js' ], 'public/js/plantilla.js') .js(['resources/js/app.js'],'public/js/app.js');

Ahora el código completo de mi componente Categoría.vue (en donde se esta las funciones desactivarcategoria() y activarCategoria() es el siguiente:

<template>    <main class="main">             <!-- Breadcrumb -->             <ol class="breadcrumb">                 <li class="breadcrumb-item active"><a href="/">BACKEND - SISTEMA DE COMPRAS - VENTAS</a></li>             </ol>             <div class="container-fluid">                 <!-- Ejemplo de tabla Listado -->                 <div class="card">                     <div class="card-header">                         <h2>Listado de Categorías</h2><br/>                                                <button class="btn btn-primary btn-lg" type="button" @click="abrirModal('categoria','registrar')">                             <i class="fa fa-plus fa-2x"></i>&nbsp;&nbsp;Agregar Categoría                         </button>                     </div>                     <div class="card-body">                         <div class="form-group row">                             <div class="col-md-6">                                 <div class="input-group">                                     <select class="form-control col-md-3">                                       <option value="nombre">Categoría</option>                                       <option value="descripcion">Descripción</option>                                     </select>                                     <input type="text" class="form-control" placeholder="Buscar texto">                                     <button type="submit"  class="btn btn-primary"><i class="fa fa-search"></i> Buscar</button>                                 </div>                             </div>                         </div>                         <table class="table table-bordered table-striped table-sm">                             <thead>                                 <tr class="bg-primary">                                                                         <th>Categoría</th>                                     <th>Descripción</th>                                     <th>Estado</th>                                     <th>Editar</th>                                     <th>Cambiar Estado</th>                                 </tr>                             </thead>                             <tbody>                                                                 <tr v-for="categoria in arrayCategoria" :key="categoria.id">                                                                          <td v-text="categoria.nombre"></td>                                     <td v-text="categoria.descripcion"></td>                                      <td>                                         <button type="button" class="btn btn-success btn-md" v-if="categoria.condicion">                                                                                <i class="fa fa-check fa-2x"></i> Activo                                         </button>                                                                                                                           <button type="button" class="btn btn-danger btn-md" v-else>                                                                                      <i class="fa fa-check fa-2x"></i> Desactivado                                         </button>                                                                              </td>                                      <td>                                         <button type="button" class="btn btn-info btn-md" @click="abrirModal('categoria','actualizar',categoria)">                                            <i class="fa fa-edit fa-2x"></i> Editar                                         </button> &nbsp;                                     </td>                                      <td>                                          <template v-if="categoria.condicion">                                                                                                 <button type="button" class="btn btn-danger btn-sm" @click="desactivarCategoria(categoria.id)">                                                 <i class="fa fa-lock fa-2x"></i> Desactivar                                             </button>                                          </template>                                         <template v-else>                                                                                                 <button type="button" class="btn btn-success btn-sm" @click="activarCategoria(categoria.id)">                                                 <i class="fa fa-lock fa-2x"></i> Activar                                             </button>                                          </template>                                                                             </td>                                 </tr>                                                             </tbody>                         </table>                         <nav>                             <ul class="pagination">                                 <li class="page-item">                                     <a class="page-link" href="#">Anterior</a>                                 </li>                                 <li class="page-item active">                                     <a class="page-link" href="#">1</a>                                 </li>                                 <li class="page-item">                                     <a class="page-link" href="#">2</a>                                 </li>                                 <li class="page-item">                                     <a class="page-link" href="#">3</a>                                 </li>                                 <li class="page-item">                                     <a class="page-link" href="#">4</a>                                 </li>                                                                 <li class="page-item">                                     <a class="page-link" href="#">Siguiente</a>                                 </li>                             </ul>                         </nav>                     </div>                 </div>                 <!-- Fin ejemplo de tabla Listado -->             </div>             <!--Inicio del modal agregar/actualizar-->             <div class="modal fade" :class="{'mostrar':modal}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" style="display: none;" aria-hidden="true">                 <div class="modal-dialog modal-primary modal-lg" role="document">                     <div class="modal-content">                         <div class="modal-header">                             <h4 class="modal-title" v-text="tituloModal"></h4>                             <button type="button" @click="cerrarModal()" class="close" aria-label="Close">                               <span aria-hidden="true">×</span>                             </button>                         </div>                                                 <div class="modal-body">                                                          <div v-show="errorCategoria" class="form-group row div-error">                                                                  <div class="text-center text-error">                                                                          <div v-for="error in errorMostrarMsjCategoria" :key="error" v-text="error"></div>                                  </div>                                                          </div>                                                            <form action="" method="post" enctype="multipart/form-data" class="form-horizontal">                                 <div class="form-group row">                                     <label class="col-md-3 form-control-label" for="text-input">Categoría</label>                                     <div class="col-md-9">                                         <input type="text" v-model="nombre" class="form-control" placeholder="Nombre de categoría">                                                                             </div>                                 </div>                                 <div class="form-group row">                                     <label class="col-md-3 form-control-label" for="email-input">Descripción</label>                                     <div class="col-md-9">                                         <input type="email" v-model="descripcion" class="form-control" placeholder="Ingrese descripcion">                                     </div>                                 </div>                               </form>                         </div>                         <div class="modal-footer">                             <button type="button" @click="cerrarModal()" class="btn btn-danger"><i class="fa fa-times fa-2x"></i> Cerrar</button>                             <button type="button" @click="registrarCategoria()" v-if="tipoAccion==1" class="btn btn-success"><i class="fa fa-save fa-2x"></i> Guardar</button>                             <button type="button" @click="actualizarCategoria()" v-if="tipoAccion==2" class="btn btn-success"><i class="fa fa-save fa-2x"></i> Actualizar</button>                                                     </div>                     </div>                     <!-- /.modal-content -->                 </div>                 <!-- /.modal-dialog -->             </div>             <!--Fin del modal-->                              </main> </template>  <script src="https://cdn.jsdelivr.net/npm/vue"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script>  <script>         export default {         data(){              return {                  categoria_id:0,                   nombre:'',                 descripcion:'',                 arrayCategoria:[],                 modal:0,                 tituloModal:'',                 tipoAccion:0,                 errorCategoria:0,                 Swal:'',                 errorMostrarMsjCategoria:[]             }          },          methods:{             listarCategoria(){                 let me=this;                 axios.get('http://localhost/proyectolaravel/public/categoria').then(function (response) {                     // handle success                     //console.log(response);                     me.arrayCategoria=response.data;                 })                 .catch(function (error) {                     // handle error                     console.log(error);                 });            },             registrarCategoria(){                 if(this.validarCategoria()){                     return;                }                 let me=this;                 axios.post('http://localhost/proyectolaravel/public/categoria/registrar',{                                    'nombre':this.nombre,                  'descripcion':this.descripcion                  }).then(function (response) {                     // handle success                     //console.log(response);                     me.cerrarModal();                     me.listarCategoria();                  }).catch(function (error) {                     // handle error                     console.log(error);                 });             },             actualizarCategoria(){                 if(this.validarCategoria()){                     return;                }                 let me=this;                 axios.put('http://localhost/proyectolaravel/public/categoria/actualizar',{                                    'nombre':this.nombre,                  'descripcion':this.descripcion,                  'id':this.categoria_id,                             }).then(function (response) {                     // handle success                     //console.log(response);                     me.cerrarModal();                     me.listarCategoria();                  }).catch(function (error) {                     // handle error                     console.log(error);                 });               },             desactivarCategoria(id){                                   const swalWithBootstrapButtons = Swal.mixin({                 customClass: {                     confirmButton: 'btn btn-success',                     cancelButton: 'btn btn-danger'                 },                 buttonsStyling: false,                 })                  swalWithBootstrapButtons.fire({                 title: '¿Estas tu seguro de desactivar la categoria?',                 text: "No estás habilitado para reversar esto!",                 type: 'precausación',                 showCancelButton: true,                 confirmButtonText: '<i class="fa fa-check fa-2x"></i> Aceptar',                 cancelButtonText: '<i class="fa fa-times fa-2x"></i> Cancelar',                 reverseButtons: true                 }).then((result) => {                 if (result.value) {                          let me=this;                          axios.put('http://localhost/proyectolaravel/public/categoria/desactivar',{                                                          'id':id                                               }).then(function (response) {                                 // handle success                                 //console.log(response);                                 me.listarCategoria();                                   swalWithBootstrapButtons.fire(                                 'Desactivado!',                                 'El registro ha sido desactivado con éxito.',                                 'satisfactoriamente');                              }).catch(function (error) {                                 // handle error                                 console.log(error);                             });                                                                } else if (                     // Read more about handling dismissals                     result.dismiss === Swal.DismissReason.cancel                 ) {                     swalWithBootstrapButtons.fire(                     'Cancelled',                     'Your imaginary file is safe :)',                     'error',                     )                 }                 });               },             activarCategoria(id){                                 const swalWithBootstrapButtons = Swal.mixin({                 customClass: {                     confirmButton: 'btn btn-success',                     cancelButton: 'btn btn-danger'                 },                 buttonsStyling: false,                 })                  swalWithBootstrapButtons.fire({                 title: '¿Estas tu seguro de activar la categoria?',                 text: "No estás habilitado para reversar esto!",                 type: 'precausación',                 showCancelButton: true,                 confirmButtonText: '<i class="fa fa-check fa-2x"></i> Aceptar',                 cancelButtonText: '<i class="fa fa-times fa-2x"></i> Cancelar',                 reverseButtons: true                 }).then((result) => {                 if (result.value) {                          let me=this;                          axios.put('http://localhost/proyectolaravel/public/categoria/activar',{                                                          'id':id                                               }).then(function (response) {                                 // handle success                                 //console.log(response);                                 me.listarCategoria();                                   swalWithBootstrapButtons.fire(                                 'Desactivado!',                                 'El registro ha sido desactivado con éxito.',                                 'satisfactoriamente');                              }).catch(function (error) {                                 // handle error                                 console.log(error);                             });                                                                } else if (                     // Read more about handling dismissals                     result.dismiss === Swal.DismissReason.cancel                 ) {                     swalWithBootstrapButtons.fire(                     'Cancelled',                     'Your imaginary file is safe :)',                     'error',                     )                 }                 });               },                         validarCategoria(){                   this.errorCategoria=0;                  this.errorMostrarMsjCategoria=[];                   if(!this.nombre)  this.errorMostrarMsjCategoria.push("(*)El nombre de la categoria no puede estar vacio");                   if(this.errorMostrarMsjCategoria.length) this.errorCategoria=1;                                return this.errorCategoria;             },             cerrarModal(){                 this.modal=0;                this.tituloModal="";                this.nombre="";                this.descripcion="";             },             abrirModal(modelo,accion,data=[]){                                    switch(modelo){                      case "categoria":                                          {                          switch(accion){                              case "registrar":                                  {                                                                        this.modal=1;                                    this.tituloModal="Registrar Categoria";                                    this.nombre="";                                    this.descripcion="";                                    this.tipoAccion=1;                                                                                                       }                                  case "actualizar":                                  {                                     this.modal=1;                                     this.tituloModal="Editar Categoria";                                     this.tipoAccion=2;                                     this.categoria_id=data["id"];                                     this.nombre=data["nombre"];                                     this.descripcion=data["descripcion"];                                                                                                           }                                                  }                       }                  }                                      }                  },                  mounted() {             //console.log('Component mounted.')             this.listarCategoria();         }     } </script>  <style>                  .modal-content{        width:100% !important;       position:absolute !important;   }    .mostrar{        display:list-item !important;       opacity:1 !important;       position:absolute !important;       background-color:#3c29297a !important;   }     .div-error{        display:flex;       justify-content:center;   }    .text-error{              color:red !important;       font-weight:bold;       font-size:20px;   }  </style>

pero al momento de ejecutar mi proyecto laravel me ejecuta correctamente, me muestra los registros, los puedo editar, guardar, pero al cambiar estado no se ejecuta y da un error, adjunto pantalla:

Categoria.vue - listado de registros

Categoría.vue -Error al cambiar de estado

me gustaría saber ¿como soluciono este problema que tengo en la ventana de la herramienta sweetalert2 que no muestra antes de cambiar a cambiar el estado del registro de categoría?; su ayuda.