نمیشد به جای OrderItem از خود Product استفاده کرد؟
یعنی دیگه کلاسی با نام OrderItem نداشته باشیم و از خود کلاس Product استفاده کنیم و در همون جا به Order اشاره کنیم و فیلد Quantity رو هم در همون Product بگذاریم؟
سلام،
خیر؛ علتشم داخل ویدیو مثال اوردن. (دقیقه 16.30)
فیلد quantity داخل Product به تعداد محصول در انبار اشاره میکنه.
جدول Order واسه ثبت سفارش هاست و OrderItem جزئیات هر سفارش هست.
شما یک فاکتورو در نظر بگیرید که این فاکتور محصولات مختلفی داخلش اومده بهمراه تعداد و قیمتی که برای اون مشتری در نظر گرفته شده(این قیمت داخل فاکتور به هر دلیلی میتونه با قیمت اصلی محصول متفاوت باشه، یه نمونه اش مثل کد تخفیف و ...)
مثالی از پیاده سازی این ساختار:
Customer:
id | username
===============
1 | demo
Product:
id | title | price | quantity
================================
1 | t-shirt | 2000 | 102 | adams | 100 | 20
مشتری سبد خریدی آماده میکنه و برای خریدهاش یک فاکتور داخل Order ثبت میشه:
Order:
id | customer_id
=================
1 | 1 (points to demo)
اما آیتمهای سفارش باید در جدول دیگری ثبت شود:(نمونه ای از جزئیات یک فاکتور)