نمایش نتایج 1 تا 19 از 19

نام تاپیک: مشکل با carousel در حالت داینامیک در لاراول

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #15
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: مشکل با carousel در حالت داینامیک در لاراول

    نمیخاد با تریگر ردیف اضافه کنی توی product_stocks
    معمولی یه ریف اضافه کن

    پس کلا 1 تریگر میشه برای انبار داری

            DB::unprepared('
    CREATE TRIGGER trigger_product_quantity
    AFTER INSERT ON `product_stocks` FOR EACH ROW
    BEGIN
    UPDATE `product` SET quantity=quantity - NEW.quantity WHERE id = NEW.product_id;
    END
    ');


    یا اگه میخای in/out باشه


            DB::unprepared('
    CREATE TRIGGER trigger_product_quantity
    AFTER INSERT ON `product_stocks` FOR EACH ROW
    BEGIN

    IF NEW.type = "in" THEN
    UPDATE `product` SET quantity=quantity + NEW.quantity WHERE id = NEW.product_id;
    END IF ;

    IF NEW.type = "out" THEN
    UPDATE `product` SET quantity=quantity - NEW.quantity WHERE id = NEW.product_id;
    END IF ;

    END
    ');




    توی تریگر وقتی میخای به فیلدی که تغییر کرده یا حذف شده یا اضافه شده دسشترسی پیدا کنی از کلمات
    NEW.
    یا
    OLD.
    استفاده میکنی
    NEW مقدار جدیده که توی عملات INSERT / UPDATE استفاده میشه
    OLD مقدار قبلی یا قدیمیه که توی عملیات DELETE / UPDATE استفاده میشه
    بعد یک تریگر هم رو تیبل محصولات میزاری که اگه خواست منفی بشه مقدارش اررور بده و نزاره


            DB::unprepared('
    CREATE TRIGGER update_products
    BEFORE UPDATE
    ON products
    FOR EACH ROW
    BEGIN
    IF NEW.quantitiy < 0 THEN
    SIGNAL SQLSTATE "45000" SET MESSAGE_TEXT = "invalid quantitiy error";
    END IF ;
    END
    ');



    به کلمه BEFORE UPDATE دقت کن چون قبل از آپدیت کردن باید چک کنه که منفی نشه نه اینکه آپدیتش کنه به عدد منفی بعد بره چک کنه که منفی شده یا نه


    بعد کل کدت رو توی یک transaction میزاری که اگه یکی از کوئری ها اررور داد هیچکدوم اجرا نشه
    اگه نمیدونی چیه راجبش تحقیق کن و عادت خوبیه برای همه موارد اینجوری اجراش کنی
    وقتی که چند تا کوئری هستن که پشت سر هم باید اجرا بشن و همشون هم باید اجرا بشن بدون استثنا وگرنه سیستم دچار اررور میشه
    از transaction استفاده میکین ... مثلا فرض تیب لorder توش ردیف ثبت بشه ولی پشتش توی order_product میخای کوئری ادامش رو بریزی یک ارروری باشه و ثبتا نشه
    الان شما یک order داری ککه معلوم نیست برای کدوم محصوله و این باعث اررور میشه تو سیستم پس یا همشون یا هیچکدوم


    و try/catch هم برای اینه که وقتی ارروری هست کد قطع نشه همینجوری اررور برا خودش بده وبتونی کنترل کنی متن اررور رو




            \DB::beginTransaction();
    try
    {

    $order = new Order();
    $order->save();

    foreach($basket_products as $basket_product )
    {
    $product_order = new ProductOrder();
    $product_order->order_id = $order->id ;
    $product_order->product_id = $basket_product->product_id ;
    $product_order->quantity = $basket_product->quantity ;
    $product_order->save();

    $product_stock = new ProductStock();
    $product_stock->product_id = $basket_product->product_id ;
    $product_stock->quantity = $basket_product->quantity;
    $product_stock->text = "سفارش شماره $order->id " ;
    $product_stock->save();
    }

    // other queries here


    }
    catch (\Exception $e )
    {
    \DB::rollBack();

    if(strpos($e->getMessage() , 'invalid quantitiy error') !== false )
    dd("موجودی کافی وجود ندارد ");
    else
    dd("اشکال در انجام عملیات" .$e->getMessage());

    }

    \DB::commit();
    dd("با موفقیت ثبت شد");



    آخرین ویرایش به وسیله plague : دوشنبه 05 آبان 1399 در 16:55 عصر

تاپیک های مشابه

  1. سوال: مشکل عمودی موندن اسلایدر انجام شده با پلاگین carousel owl
    نوشته شده توسط mahdi.021 در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: شنبه 02 شهریور 1398, 12:58 عصر
  2. سوال: مشکل اسلایدشو owl carousel با bootstrap
    نوشته شده توسط crafcrab در بخش jQuery
    پاسخ: 2
    آخرین پست: شنبه 02 مرداد 1395, 00:35 صبح
  3. داینامیک کردن bootstrap carousel
    نوشته شده توسط hossein_va در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: شنبه 11 بهمن 1393, 13:22 عصر
  4. سوال: ساخت Carousel سفارشی
    نوشته شده توسط Bardiyan در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: دوشنبه 22 اردیبهشت 1393, 10:16 صبح
  5. سوال: چگونگی ساخت Carousel
    نوشته شده توسط Golsha در بخش jQuery
    پاسخ: 1
    آخرین پست: جمعه 05 شهریور 1389, 09:53 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •