💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ علی شعبان زاده
جدول‌ها و مدل‌های مورد نیاز در شرایط استفاده از دیتابیس برای cart
جامعه لاراول ایجاد شده در ۰۲ آبان ۱۴۰۲

سلام . وقت شما بخیر . 

اگر بخواهیم cart را در دیتا بیس ایجاد کنیم . آیا به این جدول‌ها و مدلها نیاز داریم؟

جدول و همچنین مدل کارت => که سبد خرید  را نشان  می دهد و فارین کی  user_id دارد ،

جدول و مدل  cart_item => که هر ردیف از سبد خرید را نشان می‌دهد و کلید خارجی‌های cart_id  &   product_id  دارد  .،

جدول و مدل order => که بعد از checkout کردن یوزر ایجاد می‌شود  و فارین کی  user_id   دارد . 

جدول و مدل order_item => که بعد از checkout کردن یوزر اقلام order را نگهداری می‌کند که هر ردیف آن یک محصول است  و فارین کی product_id  دارد . 

جدول pivot بدون داشتن مدل با نام order_product   => که نشان دهنده رابطه چند به چند بین order  ها و product  ها است . 

جدول payment که پرداخت‌ها را نگهدرای می‌کند و فارین کی به user_id  و  همچنین  order_id  دارد . 

 

 

سلام علی جان، بله تقریبا ساختار مناسبی هست.

صادق برزگر ۰۲ آبان ۱۴۰۲، ۱۵:۵۹

ممنون از پاسخ شما . 

فقط یک مقدار کاربرد جدول پی وت  order_product برای من جای ابهام دارد . این جدول دقیقا در چه مواردی کاربرد دارد ؟ در حالی که ما لیست تمام پروداکت‌های هر order  را در جدول order_item  نگهداری می‌کنیم ؟ آیا جدول order_item  برای گزارش گیری آسان‌تر و آنالیز کردن استفاده می‌شود ؟ 

نکته دیگر اینکه ما در جدول order فارین کی  product_id نداریم تا به پروداکت‌های هر اوردر دسترسی داشته باشیم . اما از طریق جدول order_item می‌توانیم به پروداکت‌های هر اوردر دسترسی داشته باشیم . حالا سوال اینجاست که در پیوت order_product  آیا دسترسی به پروداکت‌های هر اوردر باید از طریق رابطه جدول order با جدول order_item بدست آید تا بتوان نشان داد که هر پروداکت در چه اوردر هایی آمده و از طرف دیگر هر اوردر چه پروداکت هایی دارد (many-to-many)؟ 

علی شعبان زاده ۰۳ آبان ۱۴۰۲، ۰۶:۴۱

سلام صادق جان . روز شما بخیر  . ببخشید به آخرین سوال من تو این گفتگو پاسخ داده نشده . 

علی شعبان زاده ۰۸ آبان ۱۴۰۲، ۰۸:۲۹