У нас вы можете посмотреть бесплатно Урок по Laravel 12 № 115 | Управление запасами | Сокращение запасов при размещении заказа или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
🔗Полный плейлист серии видеоуроков по созданию многопользовательского интернет-магазина на Laravel 12: • Laravel 12 Multi-Vendor E-commerce Добро пожаловать в 115-ю часть серии видеоуроков по созданию многопользовательского интернет-магазина на Laravel 12, где мы создадим с нуля полноценный профессиональный многопользовательский интернет-магазин. В этой части мы реализуем полную систему управления запасами. При оформлении заказа количество товара на складе будет безопасно уменьшаться с помощью атомарных обновлений базы данных, предотвращая перепродажу. Мы обновим логику оформления заказа, добавим безопасный механизм уменьшения запасов и гарантируем, что заказы, оплаченные через PayPal, будут уменьшаться только после успешного списания средств. ✨ Пошаговая реализация 1) Добавьте атомарные вспомогательные методы в ProductsAttribute Файл: app/Models/ProductsAttribute.php Что нужно изменить: добавьте два вспомогательных метода для безопасного атомарного уменьшения количества товаров. 2) Обновите CheckoutService::createOrderFromCart, чтобы уменьшать значения products_attributes внутри транзакции заказа Файл: app/Services/Front/CheckoutService.php Что нужно изменить: • Добавьте вспомогательный метод $decrementStock (возвращает [bool, ?string]). • В цикле, который перебирает $cart['items'], вызовите вспомогательный метод перед созданием OrderItem. Если уменьшение не удается, выполните откат и верните ошибку. • Выполните фиксацию изменений после цикла, как вы это уже делаете. Замените или вставьте следующий код сразу после создания переменных $productAttributes и $makeAttrKey: 2) Если указан размер, попробуйте использовать поиск по product_id + размер 3) Дополнительный резервный вариант: уменьшение на уровне товара (только если вы хотите его поддерживать) B — Замените существующий блок foreach ($cart['items'] as $ci) на этот (или обновите его, чтобы он вызывал $decrementStock перед созданием OrderItem) Важно: уменьшение происходит внутри той же транзакции базы данных, которая была запущена ранее. Если что-то не удастся после уменьшения, но до фиксации транзакции, она будет отменена, и изменение запасов будет аннулировано — это желательно. 3) Подтвердите, что поток PayPal уменьшает запасы только после захвата транзакции Файл: app/Http/Controllers/Front/PayPalRedirectController.php 📢 Не забудьте поставить лайк, поделиться и подписаться на канал, чтобы получать больше уроков по Laravel! 🚀 🔗Добавьте в закладки и следите за этой серией видеоуроков по многопользовательской электронной коммерции на Laravel 12: • Laravel 12 Multi-Vendor E-commerce ►Подпишитесь на обновления Laravel и другие новости здесь: / stackdevelopers Популярные серии видеоуроков для разработчиков Stack, которые могут вам помочь: ►Учебник по Laravel 12 (с MySQL): • Laravel 12 Tutorial ►Учебник по Laravel 11 (с MongoDB): • Laravel 11 Tutorial (with MongoDB) ►Учебник по Laravel 11 и PostgreSQL: • Laravel PostgreSQL Tutorial ►Учебник по Laravel API - • Laravel API Tutorial | Create API from Scr... ►Учебник по jQuery - • jQuery Tutorial ►Серия уроков по основам электронной коммерции в Laravel - • Make Admin Panel / E-commerce Website in L... ►Серия видеороликов о знакомствах на Laravel - • Make Dating / Social Networking Website in... ►Присоединяйтесь к этому каналу, чтобы получить полный исходный код всех серий: / @stackdevelopers Подписывайтесь на Stack Developers в социальных сетях, чтобы получать обновления и получать ответы на свои вопросы ►Поставьте лайк странице в Facebook, чтобы получать обновления - / stackdevelopers2 ►Присоединяйтесь к группе в Facebook, чтобы получать ответы на свои вопросы - / stackdevelopers ►Подписывайтесь на Instagram - / stackdevelopers2 ►Следите за новостями на GitHub — https://github.com/stackdevelopers. #Laravel12 #LaravelEcommerce #MultiVendor #EcommerceDevelopment #WebDevelopment #LaravelTutorial