سلام من پنل مدیریت برای یک فروشگاه را با لاراول طراحی کردم که در این پنل کاربر امکان ثبت و ویرایش محصولات و سفارشات را دارد و از جدول های order , orderDetail , product و .... استفاده کردم . در حالت عادی همه چیز درست کار میکند و فقط موقعی که کاربر قیمت یک محصولی را تغییر می دهد این تغییر باعث می شه دیگه اطلاعات سفارش های قدیمی که شامل این محصولات هست درست نباشه . چون آن سفارش ها با قیمت قدیم ثبت و محاسبه شده اند . بهترین راهکار برای حل این مشکل چیه ؟؟؟ ممنون از سایت راکت .
سلام.
شما باید یه جدول جزئیات سفارش داشته باشین که لیست همه کالاهایی که توی یک سفارش انتخاب شده رو ثبت کنین.
که این جدول ساختارش به ساده ترین حالت میتونه به این صورت باشه.
id
productId
orderId
price
status
و اینطوری هم قیمت محصول موقع خرید رو دارین هم قیمت محصول در حال حاضر(با ایدی محصول که ذخیره کردین به قیمت فعلی دست پیدا میکنین).
چند روزه این سوال های عجیب رو راجب دیتابیس فروشگاه تو راکت میبینم گفتم این بار جواب بدم.
اگه منظورتون از سفارش، سفارشی هستش که کاربر ثبت کرده و مبلغش رو پرداخت کرده، خب مطمئنا نباید قیمت رو تغییر بدید.
سفارش کاربر باید به صورت لاگ باقی بمونه تا در آینده بشه پیگیری های لازمه رو انجام داد (مثلا فهمید کاربر با چه قیمتی این محصول رو خریده)
اما اگه منظورتون از سفارش، محتوای سبد خرید، یا سفارشی هستش که کاربر هنوز پرداخت نکرده، شما به هیچ وجه نباید مبلغ رو در جایی به صورت استاتیک نگه دارید.
فرضا سبد خرید؛ شما باید بگید در سبد خرید این کاربر محصولات با آی دی های: 12 و 18 و 20 وجود داره. هیچ اطلاعات اضافه ای از جمله مبلغ نباید ذخیره بشه. هر وقت هم کاربر رفت سبد خرید رو ببینه باید یه کوئری به دیتابیس بدید که ببینید این محصولات که آی دی شون 12 و 18 و 20 هستش چه قیمتی دارن و فرایند خرید رو آماده کنید.
ممنون بابت پاسختون .
(مشتری نیاز به بررسی فاکتور های قبلی خود حتی شاید یک سال پیش را دارد و شاید یک مشتری 100 تا فاکتور خرید داشته باشد در طول سال )
قسمت دوم حرف شما در مورد سبد خرید کاملا درسته و من هم همین روش را استفاده کردم ولی مشکل من قسمت اول هستش .
چون قیمت ها باید تغییر کنه و باالفرض سفارشی 1ماه پیش ثبت شده و قیمت یک کالا بوده 5000 تومن و الان قیمت رفته بالا و شده 5500 ولی مشتری نیاز به فاکتور های قبلی و مشاهده ی آنها دارد . و در صورت تغییر قیمت این فاکتور ها با مشکل مواجه می شود .
سلام.
شما باید یه جدول جزئیات سفارش داشته باشین که لیست همه کالاهایی که توی یک سفارش انتخاب شده رو ثبت کنین.
که این جدول ساختارش به ساده ترین حالت میتونه به این صورت باشه.
id
productId
orderId
price
status
و اینطوری هم قیمت محصول موقع خرید رو دارین هم قیمت محصول در حال حاضر(با ایدی محصول که ذخیره کردین به قیمت فعلی دست پیدا میکنین).
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟