Guardar carrito de compras en bbdd
Comprar curso

78. Guardar carrito de compras en bbdd


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Marco A. Yanez

    Marco A. Yanez hace 1 año

    Excelente Continuamos…

  • Kleyver

    Kleyver hace 1 año

    hola vic como estas espero bien
    que sucede si no trengo el documento EventServiceProviders
    donde lo anexo el evento

    • Marco A. Yanez hace 1 año

      Es muy extraño, El archivo EventServiceProvider se crea automáticamente cuando generas un nuevo proyecto Laravel. Se encuentra en app/Providers y se utiliza para registrar eventos y listeners. Puedes personalizarlo según las necesidades de tu aplicación para manejar diversos eventos y acciones correspondientes.

      este es su contenido: 

      ------

      <?php
      namespace App\Providers;
      use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
      use Illuminate\Support\Facades\Event;
      class EventServiceProvider extends ServiceProvider
      {
        protected $listen = [
             'App\Events\SomeEvent' => [
                 'App\Listeners\SomeListener',
             ],
         ];  
         public function boot()
         {
             parent::boot();
             //
         }
      }

      -----

      Si por alguna razón el archivo EventServiceProvider no está presente en tu proyecto, puedes crearlo manualmente dentro del directorio app/Providers y copiar el contenido mencionado anteriormente. no tengo precedente que te funciones sin problemas a futuro pero es la opción que veo mas viable…

    • Victor Arana Flores hace 1 año

      Hola, en Laravel 11 no necesitas registrar los eventos con los oyentes.

      Lo que tienes que hacer es crear un oyente con este codigo

      php artisan make:listener RestoreCartItems

      Luego dirigete a tu listener y haz esto

      use Illuminate\Auth\Events\Login;
       
      class RestoreCartItems
      {
          /**
           * Handle the given event.
           */
          public function handle(Login $event): void
          {
              // ...
          }
      }

      En el listener al poner que se recibe el evento Login, es suficiente para que Laravel lo asocie con el evento.

    • Alfredo Romero hace 1 año

      Holaa buenas noches, tengo el proyecto en laravel 11, hice este ultimo paso que mencionas de crear el oyente con el php artisan make:listener RestoreCartItems, en el event provider no escribo nada solo dejo el listener, al realizar eso, no me mantiene el registro al loguear de nuevo y me aparece un error de serializacion 

    • Aabad hace 4 meses

      hola tengo este error tambien , observo que en la base de datos no almacena la cadena completa

       

      Aunque laravel si la manda, no encuentro el error , podrias apoyarme para ver que puedo hacer en este caso .

      Scritp con la cadena de como laravel la envia 

      insert into "shoppingcart" ("identifier", "instance", "content", "created_at") values ( 1,"shopping","O:29:\"Illuminate\\Support\\Collection\":2:{s:8:\"\u0000*\u0000items\";a:1:{s:32:\"ca353efa52957ca6ec9afa0c888d4e99\";O:32:\"Gloudemans\\Shoppingcart\\CartItem\":9:{s:5:\"rowId\";s:32:\"ca353efa52957ca6ec9afa0c888d4e99\";s:2:\"id\";i:152;s:3:\"qty\";i:1;s:4:\"name\";s:3:\"Ali\";s:5:\"price\";d:36;s:7:\"options\";O:39:\"Gloudemans\\Shoppingcart\\CartItemOptions\":2:{s:8:\"\u0000*\u0000items\";a:3:{s:5:\"image\";s:83:\"http://ecommerce:8000/storage/products/6VhehWfqcvaKDKiMVpWmz7piE4Wzi2BOg9vGAwkF.png\";s:3:\"sku\";s:3:\"626\";s:8:\"features\";a:1:{i:12;s:6:\"Blanda\";}}s:28:\"\u0000*\u0000escapeWhenCastingToString\";b:0;}s:49:\"\u0000Gloudemans\\Shoppingcart\\CartItem\u0000associatedModel\";N;s:41:\"\u0000Gloudemans\\Shoppingcart\\CartItem\u0000taxRate\";i:21;s:41:\"\u0000Gloudemans\\Shoppingcart\\CartItem\u0000isSaved\";b:0;}}s:28:\"\u0000*\u0000escapeWhenCastingToString\";b:0;}","2025-04-09 21:54:32") 

    • Aabad hace 4 meses

      listo ya resolvi , aplique lo indicado en el link https://github.com/darryldecode/laravelshoppingcart/issues/160 , igual dejo la img