راکت
حل شده

ویژگی های انتخابی در مدل EAV

1 پاسخ

سلام دوستان، من یک پروژه دارم مثل دیجیکالا که تقریبا هرکالایی رو دارند; برای پیاده سازی بخش مشخصات میخوام از مدل EAV استفاده کنم ولی دو تا مشکل دارم اولیش => یکسری ویژگی انتخابی هستند مثل رنگ،‌سایز یعنی کاربر میتونه انتخاب کنه چه رنگی با چه سایزی میخواد دومیش => گرفتن موجودی محصول، مثلا یک محصول با سایز فلان و رنگ فلان رو چطور باید موجودیش رو پیدا کرد مثلا:
محصول تیشرت مدل A رنگ قرمز سایز L به تعداد ۳۰ تا موجوده
محصول تیشرت مدل A رنگ آبی سایز L به تعداد ۲۶ تا موجوده

دوستانی که تجربه چنین پروژه هایی رو داشتند خوشحال میشم کمک کنند

ثبت پرسش جدید

پاسخ‌ها

1
آرش یدی
آرش یدی
@dark25eye

تخصص: توسعه سیستم های شبکه

بهترین پاسخ

سلام! برای حل مشکلاتی که مطرح کردی، می‌تونی از مدل EAV (Entity-Attribute-Value) استفاده کنی، اما برای انتخاب ویژگی‌ها و مدیریت موجودی محصول به شکل دقیق‌تری نیاز به چند تا نکته داری:

مدیریت ویژگی‌های انتخابی (مثل رنگ و سایز):
برای ویژگی‌هایی که انتخابی هستند، مثل رنگ و سایز، بهترین کار اینه که این ویژگی‌ها رو توی یک جدول جداگانه ذخیره کنی که کاربر بتونه انتخاب کنه. مثلاً یک جدول برای رنگ‌ها و یک جدول برای سایزها. بعد این ویژگی‌ها رو به محصول لینک کنی. یعنی برای هر محصول چندین ترکیب ممکن از رنگ و سایز می‌تونه وجود داشته باشه.

مدیریت موجودی با توجه به ویژگی‌ها:
برای مدیریت موجودی بر اساس ترکیب ویژگی‌ها (مثل سایز و رنگ)، می‌تونی یه جدول اضافی برای موجودی محصولات بسازی. در این جدول، هر ترکیب از ویژگی‌ها مثل رنگ و سایز به عنوان یک شناسه یکتا (مثل ترکیب رنگ قرمز و سایز L) ثبت می‌شه و مقدار موجودی برای هر کدوم ذخیره میشه.
به این شکل:

product_id (شناسه محصول)
color (رنگ)
size (سایز)
stock (موجودی)
اینطوری برای محصول "تیشرت مدل A"، رنگ قرمز، سایز L می‌تونی موجودی رو ۳۰ تا ثبت کنی و برای رنگ آبی، سایز L موجودی رو ۲۶ تا.

به این ترتیب می‌تونی موجودی رو برای هر ترکیب مشخص نگه داری و زمانی که کاربر انتخاب می‌کنه، سیستم موجودی مربوط به ترکیب انتخابی رو نمایش بده.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام