yashar
3 سال پیش توسط yashar مطرح شد
2 پاسخ

روابط چند به چند

سلام دوستان
کسی میدونه روش صحیح ایجاد رابطه چند به چند بین مثلا 5 تا table چیه ؟
فرض کنید 5 تا table داریم و هر table با table دیگه رابطه ی چند به چند داره یعنی 10 تا table واسط لازمه ؟؟
فرض کن table ها اینان که همه با هم many to many هستن :
اعضای بدن / درمان / علائم / بیماری / تخصص پزشک
و سوال دوم اینکه فرض کن تو این ساختار میخوای تخصص هایی رو پیدا کنی که با بیماری آب مروارید در ارتباط هستن ؟

من 10 تا واسط ساختم بین هر کدوم از 5 جدول بالا + یک جدول pivot که فیلداش اینان :

id / اعضای بدن / درمان / علائم / بیماری / تخصص پزشک

کار رو راه میندازه ولی ....


ثبت پرسش جدید
sinaQ
تخصص : magican
@sinaQasemi 3 سال پیش مطرح شد
0

برای همچین شرایطی بایست از روابط many to many polymorphic استفاده بشه که معنای تحت الفطیش میشه روابط چند به چندِ چندشکلی.
https://laravel.com/docs/8.x/eloquent-relationships#many-to-many-polymorphic-relations
مستندات رو مطالعه کنید!

https://roocket.ir/series/laravel-projects/episode/77


yashar
@yasharazarbahram 3 سال پیش مطرح شد
0

polymorphic درسته تعداد جداول واسط رو از 10 به 5 میرسونه ولی تعداد رکورد ها رو دوبرابر میکنه (بعضی از موجودیت ها بالای 3 یا 4 هزار رکورد هستن ) و با توجه به مستندات mysql وقتی بین افزایش تعداد جداول و افزایش رکورد ها مجبور به انتخاب شدی افزایش جدوال بهینه تره تا افزایش رکوردها


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

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