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

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

  1. #1
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    سلام دوستان . من یک سری محصولات دارم که بصورت thumbnil و بزرگ در قالب اسلایدر نمایش داده میشه . ولی تو حلقه بخاطر وجود active با مشکل روبرو میشم.

    این کد رو میخوام داینامیک کنم .


    <div id="carousel-thumb" class="carousel slide carousel-fade carousel-thumbnails" data-ride="carousel">
    <!--Slides-->
    <div class="carousel-inner" role="listbox">
    <div class="carousel-item active">
    <img class="d-block w-100" src="1.jpg" alt="First slide">
    </div>
    <div class="carousel-item">
    <img class="d-block w-100" src="2.jpg" alt="Second slide">
    </div>
    <div class="carousel-item">
    <img class="d-block w-100" src="3.jpg" alt="Third slide">
    </div>
    </div>
    <!--/.Slides-->
    <!--Controls-->
    <a class="carousel-control-prev" href="#carousel-thumb" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carousel-thumb" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
    </a>
    <!--/.Controls-->
    <ol class="carousel-indicators">
    <li data-target="#carousel-thumb" data-slide-to="0" class="active"> <img class="d-block w-100" src="1_thumb.jpg"
    class="img-fluid"></li>
    <li data-target="#carousel-thumb" data-slide-to="1"><img class="d-block w-100" src="2_thumb.jpg"
    class="img-fluid"></li>
    <li data-target="#carousel-thumb" data-slide-to="2"><img class="d-block w-100" src="3_thumb.jpg"
    class="img-fluid"></li>
    </ol>
    </div>


    به این شکل تغییر دادم ولی مشکل داره .

    <div id="carousel-thumb" class="carousel slide carousel-fade carousel-thumbnails" data-ride="carousel">
    <!--Slides-->
    <div class="carousel-inner" role="listbox">
    <?php $i=0; ؟>

    @foreach( $product->images as $image)
    <?php $i++; ?>

    <div class="carousel-item <?php echo ($i==1 )?'active':'' ?>">
    <img class="d-block w-100" src="{{$image_path}}" alt="First slide">
    </div>


    @endforeach
    </div>
    <!--/.Slides-->
    <!--Controls-->
    <a class="carousel-control-prev" href="#carousel-thumb" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carousel-thumb" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
    </a>
    <!--/.Controls-->
    <ol class="carousel-indicators">
    <?php $x=0; ?>
    @foreach( $product->images as $image)
    <?php $x++;?>

    <li data-target="#carousel-thumb" data-slide-to="{{$x}}" class="<?php echo ($x==1 )?'active':'' ?>"> <img class="d-block w-100" src="{{$image_path}}"></li>
    @endforeach
    </ol>
    </div>
    <!--/.Carousel Wrapper-->
    آخرین ویرایش به وسیله pary_daryayi : دوشنبه 28 مهر 1399 در 09:11 صبح

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

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

    کدت رو که نمیشه خوند اصلا
    ولی خب مشکلش چیه ؟ همچین چیزی باید جواب بده



     @foreach( $product->images as  $k=>$image) 

    <div class="{{$k == 0 ? 'active' : ''}}">

  3. #3
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    کد رو مرتب کردم.
    من هم تقریبا همینو نوشتم ولی جواب نمیده .
    یعنی روی عکس thumb که کلیک میکنم اونو نشون نمیده.
    تو نت هم گشتم همین روش من و شما رو گفته . گفتم شاید نکته ای در مورد active باشه
    آخرین ویرایش به وسیله pary_daryayi : دوشنبه 28 مهر 1399 در 09:25 صبح

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

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

    شاید از 0 باید شروع بشن
    ctrl+u
    بزن سورس رو نگاه کن ببین نتیجش چی شده

  5. #5
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    شاید از 0 باید شروع بشن
    ctrl+u
    بزن سورس رو نگاه کن ببین نتیجش چی شده
    واقعا ممنون . اصلا فکر نمیکردم بخاطر این باشه . اخه چرا با صفر درست شد ؟ چقدر درگیرش بودم . مرسی
    ------------------------------------------------------------------

    یک سوال هم بدون ارتباط به این تاپیک اینجا بپرسم با اجازه . اخه کسی غیر شما جواب نمیده .

    در مورد موجودی فروشگاه هست .

    من تقریبا منطق برنامه رو تکمیل کردم .
    مثلا مدیر سایت ، موجودی فروشگاه رو در مدیریت کم و زیاد میکنه . یا مثلا موقع خرید چند محصول ، به همون تعداد از موجودی محصول در سایت کم میشه و ....

    اما یک مشکل وجود داره .
    اجناس فروشگاه خیلی زیادن .
    و همه چیز فقط از طریق سایت که فروخته نمیشه . یک فروشگاه حقیقی وجود داره . ممکنه محصولی در فروشگاه حقیقی ، فروخته و تموم بشه و از این طرف کاربری در سایت اونو انتخاب و خرید کنه.
    مسوول فروش فروشگاه هم نمیرسه هر لحظه موجودی اینهمه محصول رو آپدیت کنه . خودم مدیر سایتم و فقط میتونم روزانه موجودی ها رو اصلاح کنم.
    چه فکری میشه برای این کار کرد ؟
    سایتهای فروشگاهی چکار میکنند ؟

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

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

    برای ذخیره این موارد معمولا از آرایه استفاده میشه و آرایه هم از 0 شروع میشه


    و همه چیز فقط از طریق سایت که فروخته نمیشه . یک فروشگاه حقیقی وجود داره . ممکنه محصولی در فروشگاه حقیقی ، فروخته و تموم بشه و از این طرف کاربری در سایت اونو انتخاب و خرید کنه.
    مسوول فروش فروشگاه هم نمیرسه هر لحظه موجودی اینهمه محصول رو آپدیت کنه . خودم مدیر سایتم و فقط میتونم روزانه موجودی ها رو اصلاح کنم.
    چه فکری میشه برای این کار کرد ؟
    سایتهای فروشگاهی چکار میکنند ؟
    باید یه یچزی ثبت بشه تو دیتابیس اینکه طرف وقت نمیکنه بزنه دیگه مشکل خودشه
    ولی خب ویرایش کردن موجودی راهش نیست و کمکی نمیکنه و روش آماتور هستش


    جوابش طولاانی و کمی پیچیدست

    شما یه روز بیای ببینی موجودی محصول 0 شده معلوم نیست که چجوری 0 شده کی کم کرده و بابت چی
    یا مثلا ممکنه کسی که همزمان 2 نفر ویرایش کنن مثلا 2 تا موجودی داره 2 نفر همزمان خرید کنن
    نفر اول منیگه خب موجودی2 هست و من دارم 1 دونه خرید میکنم پس موجودی باید بشه 1
    نفر دوم هم همین رو میگه ... هردو موجودی رو ویرایش میکنن و 1 میزارن آخرش با اینکه 2 تا محصول خرید شده 1 دونه از موجودی کم میشه
    و مشکلات اینچنینی مربوط به race condition

    شما باید یه تیبل بزاری به اسم مثلا انبار داری یا هرچی مثلا product_stocks

    product_stocks : id , product_id , quantity , type
    1 , 2 , 10 , in
    2 , 2 , 2 , out
    3 , 2 , 1 , out



    وقتی محصولی موجودیش کم و زیاد بشه توی این تیبل ثبت بشه یک ردیف ... in یعنی موجودی اضافه شده و out یعنی موجودی کم شده
    بعد میگی که وقتی یک ردیف در این تیبل ثبت شد اگه in بود برو تو تیبل محصولات فیلد موجودی رو اضافه کن به مقدار quantity و اگه out بود کم کن
    اینکارو با کد نویسی نبایید انجچام بدی چون هنوز مشکلات مربوط به race condition رو خواهی داشت
    این کارو باید در سطح دیتابیس انجام بدی یه چیزی هست به اسم trigger که اگه نمیدونی چیه راجبش سرچ کن تو یوتوب فیلم آموزشش رو ببین یا اگه اتگلیسیت خوب نیست مقاله فارسی هم باید باشه
    کارش اینه که تعریف میکنی که اگه یک تیبل تغییرکرد چه تاثیری بزاره رو تیبل دیگه

    شما 2 تا تریگر نیازداری

    1 - قبل از ثبت یک ردیف در تیبل product_stocks ثبت شد برو تو تیبل محصولات و موجودی رو کم و زیاد کن به تناسبش
    2 - قبل از ویرایش تیبل محصولات چک کنه اگر موجودی کمتر از 0 میشه پس از ویرایش اررور بده و انجام نده

    حالا فرض کن کسی محصولی رو میخره

    شما باید یک ردیف درتیبل product_stocks ثبت کنی که این ردیف بعد میره تیبل محصولات رو ویرایش میکنه و یدونه از موجودیش کم میکنه
    حالا شما اگه کلا 1 دونه موجودی داشته باشی تو تیبلت و 2 نفر هممزان خرید کنن تریگر دوم باعث میشه که یکی از اینا انجام نشه و نتونه خرید کنه

    حال نمیخام زیاد طولانیش کنم ولی شما کوئری هات رو توی transaction و try/catch میزاری که وقتی این حالت پیش میاد یه اررور مناسب نشون بدی به کاربر

  7. #7
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    ممنون کلیت کار رو تقریبا متوجه شدم . تو انجمن های تلگرامی زیاد پرسیده بودم کسی چنین پیشنهاد جامع و کاملی رو نگفته بود . تشکر .

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

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

    خواهش , هدف اینه که فقط ردیف هایی که توی تیبل product_stocks وارد میکنه موجودی محصول رو تغییر بده و شما هیچوقت به صورت مستقیم آپدیت نکنی تیبل محصولات رو
    اینجوری

    1 - همیشه میشه با یک نگاه متوجه شد که در چه زمان هایی و به چه دلایلی موجودی کم و زیاد شده
    2 - از اونجایی که هیچوقت همزمان 2 ردیف در یک تیبل ثبت نمیتونن بشن و یکی منتظر میمونه تا اونیکی ثبت بشه اول ... مشکل همزمانی خرید یا اشتباه محاسبه شدن موجودی محصول برات پیش نمیاد و از طرف دیگه همه آپدیت هایی که روی تیبل انجام میشه همه از یک جا سرچشمه میگیره حتی اگه از جاهای مختلف استارت خورده باشه

    یعنی اگه شما بیای محصول بخری یا ادمین سایت بره تو پنل ادمین موجودی ثبت کنه این از 2 جای مختلف شروع شده عملیات تغییر ولی از اونجای یکه هردوشون توی یک تیبل product_stocks میریزن و این trigger رو فعال میکنه تا بره ویرایش کنه تیبل محصولات رو این 2 عملیات سینک میشه با هم و این امکان نیست که یکی با دیگری تداخل ایجاد کنه یا باعث اشتباه محاسباتی بشه

  9. #9
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    بله ممنون .
    من اینطور منوجه شدم که کافیه فقط برای مسوول فروش فروشگاه حقیقی ، یک سطح دسترسی برای این جدول بزارم .

    product_stocks : id , product_id , quantity , type
    1 , 2 , 10 , in
    2 , 2 , 2 , out
    3 , 2 , 1 , out


    یعنی لیستی از محصولات با یک باکس جلوی هر کدوم میزارم و یک کد اجاکس مینویسم که اون فقط کم و زیاد کنه محصولاتو . هر تغییری باعث ایجاد یک سطر در این جدول انبارداری میشه .
    و
    از این طرف هم در فروشگاه سایت بر اساس منطقی که برنامه داره و خرید کاربرها ، هر تعداد محصولی که کم میشه ، این جدول انبار داری آپدیت بشه .

    و تریگر و ... هم که باید پیاده سازی بشه .
    کلیت همینه درسته ؟

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

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

    جدول انبار داری آپدیت نمیشه فقط توش ردیف ثبت میشه
    ثبت ردیف توی جدول انبار داری تریگر رو فعال میکنه و تریگر تیبل محصولات رو ویرایش میکنه
    یعنی هربار که شما بخای موجودی محصول رو کم یا زیاد کنی به هر دلیلی حالا کاربر خریده یا صحب فروشگاه فروخته یا بار جدید آورده یا سفار شکنسل شده یا هرچی
    یک ردیف تو تیبل انبار داری باید ثبت کنی تا این تیبل بعدش بره محصول رو ویرایش کنه و موجودیش رو تغییر بده

    برای صاحب مغازه جلوی هرمحصول یه دکمه میزاری ثبت خرید وقتی روش کلیک کرد یه فیلد میاد میگه تعداد رو بگو تعداد رو که زد و ثبت کرد یه ردیف تو تیبل انبار داری با نوع out ثبت میکنه

  11. #11
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    بله ممنون .
    اگه فروشگاه حقیقی وجود نداشته باشه و همه ی محصولات فقط از طریق سایت فروخته بشه ایا این جدول باز نیازه . جدول انبارداری و تریگر.؟؟
    من یک جدول product دارم که اونجا جلوی هر محصول موجودی رو میتونم زیاد کنم . ( فقط در این حالت لازمه زیاد کنم چون کم شدن فقط از طریق سایت و خرید خودبخود انجام میشه )
    از طرفی هم ؛ این منطق که هر محصول بعد از خرید نهایی از جدول product کم بشه ، پیاده شده .

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

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

    فرض کن یه محصول داری با 1 موجودی
    2نفر بیان همزمان این رو بخرن
    نفر اول میگه خب 1 موجودی هست من خرید کردم باید بشه 0 جدول رو ویرایش میکنه و 0 میزاره موجودی رو
    نفر دوم هم همزمان داره همین خرید رو میکنه و همین منطق رو پیاده میکنه و جدول رو ویرایش میکنه موجودی رو 0 میزنه

    الان سیستم شما 1 محصول رو به 2 نفر فروخته درالی که 1 موجودی بیشتر نداره


    یبار دیگه صحبت هام رو بخون برات توضیح دادم که چرا باید این روش رو استفاده کنی





    شما یه روز بیای ببینی موجودی محصول 0 شده معلوم نیست که چجوری 0 شده کی کم کرده و بابت چی
    یا مثلا ممکنه کسی که همزمان 2 نفر ویرایش کنن مثلا 2 تا موجودی داره 2 نفر همزمان خرید کنن
    نفر اول منیگه خب موجودی2 هست و من دارم 1 دونه خرید میکنم پس موجودی باید بشه 1
    نفر دوم هم همین رو میگه ... هردو موجودی رو ویرایش میکنن و 1 میزارن آخرش با اینکه 2 تا محصول خرید شده 1 دونه از موجودی کم میشه
    و مشکلات اینچنینی مربوط به race condition



    1 - همیشه میشه با یک نگاه متوجه شد که در چه زمان هایی و به چه دلایلی موجودی کم و زیاد شده
    2 - از اونجایی که هیچوقت همزمان 2 ردیف در یک تیبل ثبت نمیتونن بشن و یکی منتظر میمونه تا اونیکی ثبت بشه اول ... مشکل همزمانی خرید یا اشتباه محاسبه شدن موجودی محصول برات پیش نمیاد و از طرف دیگه همه آپدیت هایی که روی تیبل انجام میشه همه از یک جا سرچشمه میگیره حتی اگه از جاهای مختلف استارت خورده باشه

    یعنی اگه شما بیای محصول بخری یا ادمین سایت بره تو پنل ادمین موجودی ثبت کنه این از 2 جای مختلف شروع شده عملیات تغییر ولی از اونجای یکه هردوشون توی یک تیبل product_stocks میریزن و این trigger رو فعال میکنه تا بره ویرایش کنه تیبل محصولات رو این 2 عملیات سینک میشه با هم و این امکان نیست که یکی با دیگری تداخل ایجاد کنه یا باعث اشتباه محاسباتی بشه

  13. #13
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    ممنون . توضیحاتتون خیلی خوبه . تریگر رو باید مطالعه کنم .

  14. #14
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    مستندات لاراول ظاهرا تریگر رو نداره .

    اگه فرض کنیم فقط فروش از طریق سایت هست اینطور درنظر میگیریم که وقتی دو سفارش همزمان در جدول بخواد درج بشه ، تریگر اجرا میشه .

    دو تا کلی نوشتم به لحاظ مفهومی ( نه سینتکسی درسته ؟ )

    گفتم وقتی ردیفی در جدول order_product درج شد جدول انبار داری یک سطر بهش اضافه بشه.
    و در تریگر دوم گفتم وقتی به جدول انبارداری یک سطر اضافه شد ، موجودی در جدول محصولات ویرایش بشه.

    سوال : باید بگم وقتی یک سطر به order اضافه شد یا به order_product ؟ هر order میتونه چندتا order_product داشته باشه


    public function up()
    {
    DB::unprepared('CREATE TRIGGER trigger_product_stocks AFTER INSERT ON `order_product` FOR EACH ROW
    BEGIN
    INSERT INTO `product_stocks` (`id`, `product_id`, `quantity`, `typet`) VALUES (3, order_product->id, order_product->quantity, out);
    END');
    }

    public function up()
    {
    DB::unprepared('CREATE TRIGGER trigger_product_quantity AFTER INSERT ON `product_stocks` FOR EACH ROW
    BEGIN
    UPDATE `product`
    SET quantity=quantity - product_stocks->quantity
    WHERE id = product_stocks->id;
    END');
    }





    اینهم تصویری از جداول من غیر از جدول انبار داری product_stocks

    p.jpg

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

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

    ...........................................

  16. #16
    کاربر دائمی آواتار 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 عصر

  17. #17
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    خیلی خیلی ممنون . چند روز باید وقت بزارم این کدها و تحلیلهای شما رو کار کنم .
    تا بحال کدهام فقط CRUD بود

  18. #18
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

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

    الان من با این قسمتی که برای مدیر نوشتم مشکل دارم .
    کدی که قسمت ادمین برای اضافه کردن محصولات توسط مدیره ، به صورت اجاکس هست . مدیر که اضافه یا کم میکرد (تگ input ازنوع number گزاشتم) با اجاکس تعداد موجودی (اسمشو exist گزاشتم اینجا ) در تیبل محصولات آپدیت میشد .
    این کد قسمت کنترلر هست که جواب میداد


    public function productQuantity(Request $request,Product_stocks $product_stocks)
    {
    $quantity = $request->quantity;
    $id = $request->idProduct;
    Product::where('id', $id)->update(array('exist' => $quantity));/


    }


    الان سخت شد . نمیدونم چطوری تغییر بدم که هم اجاکس باشه ، هم in و out رو بفهمه .
    اینطوری نوشتم کنترلر رو ولی مشکلاتش اینه که اولا تعداد کل موجودی جدید درج میشه در انبارداری ، نه تعدادی که اضافه یا کم شده . و اینکه تو این کد چطوری تمایز قایل بشم که داره in اتفاق میفته یا out .

    public function productQuantity(Request $request,Product_stocks $product_stocks)
    {
    $quantity = $request->quantity;
    $id = $request->idProduct;



    $input['quantity'] = $quantity;
    $input['product_id'] = $id;
    $input['type'] = "in";


    Product_stocks::create($input);


    // return \response()->json(['quantity'=>$quantity ,'idProduct'=>$id ]);


    }


    کد اجاکس :

    <script type="text/javascript">
    $(document).ready(function() {
    $( ".quantity-add" ).change(function (e) {
    e.preventDefault();
    $.ajaxSetup({
    headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
    });

    var quantity = $(this).val();
    var idProduct = $(this).data('id');

    $.ajax({
    url : "{{ url('/admin/products-quantity') }}",
    method :'get',
    data : { quantity : quantity , idProduct : idProduct},
    success : function(result) {
    //console.log(result);
    //alert(result.quantity+result.idProduct);
    }
    });
    });

    });

    </script>

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

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

    اینطوری نوشتم کنترلر رو ولی مشکلاتش اینه که اولا تعداد کل موجودی جدید درج میشه در انبارداری
    ادمین مقداری که تغییر کرده رو میفرسته چرا باید تعداد کل درج بشه
    متوجه نمیشم چی میگید


    تو این کد چطوری تمایز قایل بشم که داره in اتفاق میفته یا out
    وقتی ادمین داره ثبت میکنه یه سلکت بار بزار براش که مشخص کنه in هست یا out



    کد اجاکس :
    چیزی نمیشه دید ولی خب ربطی نداره ایجکس به کار شما

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

  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 صبح

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

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