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

سلام استاد

ایا Polymorphic  که توی orm هایی مثل Eloquent ORM داریم هم به همین روش کار میکنه ؟

مثلا مدل کامنت برای انواع پست‌ها ... 

 

مثالی که زدین رو خوب متوجه نشدم !

مدل‌ها تو لاراول از کلاس  model( خودش هم از چند کلاس دیگر ارث بری دارد ) ارث بری میکنند که برای مثال متد insert را درنظر بگیریم

این متد در کلاس model پیاده سازی شده است و میتوان در کلاس‌های فرزند از ان استفاده کرد

حال ما مدل user ساخته ایم که از کلاس model ارث بری کرده است

ما میخواهیم بعد از ثبت یک رکورد در دیتابیس مثلا یک event رخ دهد پس متد insert در کلاس user که فرزند کلاس model است را بازنویسی میکنیم تا علاوه بر ثبت رکورد در دیتابیس عملیات مدنظر ما را نیز انجام گیرد

این یک نمونه از Polymorphic تو مدل‌های لاراول هست. 

امیدوارم خوب توضیح داده باشم :))

 

امیرحسین صحرانورد ۱۲ خرداد ۱۳۹۹، ۰۶:۰۰

سلام

ممنون از جوابت اما منظور من بیشتر توی رابطه‌ها هست مثلا ما یک مدل image داریم که مدل‌های دیگه morth میشن بش یعنی ما یک عکس داریم که ماهیتش مشخصه حالا عکس پست باشه عکس کامنت باشه عکس فروشگاه باشه ... همشون توی یک جدول ذخیره میشن خواستم ببینم این نوع رابطه از همون جنس هست یا خیر 

Amir Ahmadi ۱۲ خرداد ۱۳۹۹، ۰۸:۰۶

اون داستانش یه چیز دیگست.

اونجا معمولا وقتی اطلاعات چندین موجودیت مشابه رو می‌خوای در یک جدول نگهداری کنه از یه ستون کمک می‌ری داخل همون یه جدول و اصطلاحا polymorphic میشه.

خیلی ربطی به این اصل پلیمورفیسم توی شی گرایی نداره. ولی خوب یه شباهت هایی هم داره

بهترین پاسخ
لقمان آوند ۱۲ خرداد ۱۳۹۹، ۱۸:۴۸