راکت
حل شده

کلید خارجی در لاراول

4 پاسخ

سلام دوستان
ببخشید چجوری میشه واسه ی رابطه های پلی مورفیک توی ماگریشن هاشون کلید خارجی تعریف کرد؟؟

ثبت پرسش جدید

پاسخ‌ها

4
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

در روابط پلی مورفیک چون هر یک از رکورد ها میتونه به یک model متفاوت مربوط باشه دیگه تعریف کلید خارجی (FK) مثل حالت پیش فرض و ساده وجود نداره و البته نیازی هم به اینکار نیست.

اما نکته ای که هست برای اینکه از خاصیت indexing دیتابیستون استفاده کنید و سرعت اجرای کوئری ها بیشتر بشه حواستون باشه که توصیه میشه حتما یک index از نوع compound بر روی دو ستون تعیین کننده رابطه تعریف بشه. چیزی که بصورت اتومات وقتی FK تعریف می‌کردید انجام میشد و شاید خیلی متوجهش هم نمی‌شدید. اینجا باید بصورت دستی و مشخص انجام بشه. مثالش میشه اینجوری:

$table->string('commentable_type');
$table->unsignedBigInteger('commentable_id');
//Define index:
$table->index(['commentable_type', 'commentable_id']);
محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

دوستان کسی نبود؟

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

سلام
در مورد روابط پالی مورفیک فارسی هم سرچ بزنید کلی آموزش بهتون میده

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

محمد میرزاخانی
محمد میرزاخانی
@mirzamohammad.com

@hosseinshirinegad98
مشکلم کله روابط نیست فقط کلید خارجی اونم روی همین روابط هست اینکه اصن کلید خارجی تعریف میشه براشون یا نه اگه میشه چجوری.سرچ کردم پیدا نکردم

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

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