نقل قول نوشته شده توسط rezakho مشاهده تاپیک
لاراول از ارتباط های چند ریختی!...
طبق این لینک ارتباط چندریختی توی دیتابیس یک ارتباط مناسب نیست و توصیه نمیشه و به همین دلیل هم در Yii قرار داده نشده. بنا به دلایل زیر:
نمیتونید قید بزنید:

CREATE TABLE Comments (
comment_id SERIAL PRIMARY KEY,
comment TEXT NOT NULL,
issue_type VARCHAR(15) NOT NULL CHECK (issue_type IN (`Bugs`, `Features`)),
issue_id INT NOT NULL,
FOREIGN KEY issue_id REFERENCES ???
);

درنتیجه مجبورین جدول رو بدون کلید خارجی و Relation واقعی بسازین:

CREATE TABLE Comments (
comment_id SERIAL PRIMARY KEY,
comment TEXT NOT NULL,
issue_type VARCHAR(15) NOT NULL CHECK (issue_type IN (`Bugs`, `Features`)),
issue_id INT NOT NULL,
);

بنابراین نمیتونید از Join استفاده کنید:

SELECT * FROM Comments
JOIN ???
USING (issue_id);

یا اینکه همزمان روی هر دو جدول Join بزنید:

SELECT * FROM Comments c
LEFT JOIN Bugs b ON (c.issue_type = 'Bugs' AND c.issue_id = b.issue_id)
LEFT JOIN Features f ON (c.issue_type = 'Features' AND c.issue_id = f.issue_id);

تازه همه این توضیحات و دردسرها فقط توی SELECT هست و تصور کنید چه بلایی سر برنامه شما موقع UPDATE و DELETE و... و اصلاح ارتباطها میاد چون قید وجود نداره و باید همه چیز دستی با کوئریهای جداگانه انجام بشه.
البته یکسری راههای جایگزین هم هست:
کمانهای انحصاری (وجود دو فیلد bug_id و feature_id در مثال فوق به نحوی که در هر لحظه فقط یکیشون برای هر رکورد مقدار داشته باشه که فقط باعث میشه Joinها ساده تر بشه ولی باز هم باید هر دو Join انجام بشه
معکوس کردن Relation (از Bugs یا Features ارتباط HAS_MANY به Comments بزنیم و یا از جدولهای واسط استفاده کنیم)
استفاده از جدول والد مشترک

توضیح تخصصی این مقوله خارج از موضوع این تاپیکه و شدیداً مطالعه لینکی که گذاشتم رو توصیه میکنم (ساختار دستورات SQL بصورت استاندارد هست نه MySQL)

بهرحال این قابلیت که Yii ازش استفاده نکرده، فوق العاده Performance رو پایین میاره و حالا که لاراول اون رو داره، هرچند امتیاز منفی براش میدونم ولی بهرحال ابداً توصیه نمیکنم ازش توی پروژه ها استفاده کنید. امیدوارم این موضوع دوباره حاشیه ساز نشه و حرف و حدیث از توش در نیاد که اومد قضاوت کرد و یه چیزی گفتیم و Yii نداشت و خواست توجیه کنه و از اینجور حرفها. برای راندمان پروژه های خودتون میگم وگرنه باز هم تأکید میکنم Yii این قابلیت رو نداره و با هر متخصص دیتابیس هم که مشورت کنید، تأیید میکنه که نداشتن چنین قابلیتی و استفاده نکردن از چنین ارتباطهایی به نفع کارآیی برنامه شماست.