سلام دوستان
ببخشید چجوری میشه واسه ی رابطه های پلی مورفیک توی ماگریشن هاشون کلید خارجی تعریف کرد؟؟
در روابط پلی مورفیک چون هر یک از رکورد ها میتونه به یک model متفاوت مربوط باشه دیگه تعریف کلید خارجی (FK) مثل حالت پیش فرض و ساده وجود نداره و البته نیازی هم به اینکار نیست.
اما نکته ای که هست برای اینکه از خاصیت indexing دیتابیستون استفاده کنید و سرعت اجرای کوئری ها بیشتر بشه حواستون باشه که توصیه میشه حتما یک index از نوع compound بر روی دو ستون تعیین کننده رابطه تعریف بشه. چیزی که بصورت اتومات وقتی FK تعریف میکردید انجام میشد و شاید خیلی متوجهش هم نمیشدید. اینجا باید بصورت دستی و مشخص انجام بشه. مثالش میشه اینجوری:
$table->string('commentable_type');
$table->unsignedBigInteger('commentable_id');
//Define index:
$table->index(['commentable_type', 'commentable_id']);
@hosseinshirinegad98
مشکلم کله روابط نیست فقط کلید خارجی اونم روی همین روابط هست اینکه اصن کلید خارجی تعریف میشه براشون یا نه اگه میشه چجوری.سرچ کردم پیدا نکردم
در روابط پلی مورفیک چون هر یک از رکورد ها میتونه به یک model متفاوت مربوط باشه دیگه تعریف کلید خارجی (FK) مثل حالت پیش فرض و ساده وجود نداره و البته نیازی هم به اینکار نیست.
اما نکته ای که هست برای اینکه از خاصیت indexing دیتابیستون استفاده کنید و سرعت اجرای کوئری ها بیشتر بشه حواستون باشه که توصیه میشه حتما یک index از نوع compound بر روی دو ستون تعیین کننده رابطه تعریف بشه. چیزی که بصورت اتومات وقتی FK تعریف میکردید انجام میشد و شاید خیلی متوجهش هم نمیشدید. اینجا باید بصورت دستی و مشخص انجام بشه. مثالش میشه اینجوری:
$table->string('commentable_type');
$table->unsignedBigInteger('commentable_id');
//Define index:
$table->index(['commentable_type', 'commentable_id']);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟