راکت
حل شده

خطای افزودن foreignKey در لاراول

5 پاسخ

سلام به همکاران عزیز .
ممنون میشم توی مشکلی که دارم بنده رو راهنمایی کنید .
جدولی دارم به اسم rocks که باید به جدول دیگری به اسم categoryrocks متصل بشه
و برای تعریف کلید خارجی از نام model مربوطه و در انتهای نام از id
استفاده کردم
ولی هنگام تعریف کلید خارجی به مشکل خوردم و خطایی که میده میگه که کلید خارجی درست شکل نگرفته است چند بار هم نام کلید رو عوض کردم باز هم همین خطا رو میده

 تصویر

حمید
حمید
@hamid198br
ثبت پرسش جدید

پاسخ‌ها

5
محمدرضا افخمی
محمدرضا افخمی
@mhmdrezafk

تخصص: Laravel Backend Developer

بهترین پاسخ

جدول category_rocks قبل از جدول اصلی باید ایجاد بشه تا بشه رفرنس داد بهش (فایل های migration به ترتیب ایجاد اجرا میشن)
با توجه به اسم فایل های migration ها این ترتیب رعایت نشده و به همین دلیل ارور میده
اسم فایل رو تغییر بدید تا جدول category_rocks بالاتر از جدول rocks قرار بگیره و مجدد تست کنید

مهدی
مهدی
@mmk221

بعد از تغییر نام کلید migrate:fresh انجام دادی؟
از داخل database مرتبط relationship رو بررسی کردی ببینی روابط برقرار شده یا نه؟

حمید
حمید
@hamid198br

درود
بله بعد از تعریف کلید خارجی دستور php artisan migrate:fresh رو که میزنم خطایی که داخل تصویر هست رو نشون میده و در دیتابیس هم اصلا جدولی که کلید رو تعریف کردم ساخته نمیشه

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

توی خط ۱۵ و توی متد on چیزی که شما پاس دادی category_roks هست که به نظر میرسه خطای تایپی داشته باشه. اینو چک کردی؟

حمید
حمید
@hamid198br

سلام و عرض ادب کاربر start plus
واقعا ممنونم از شما با پاسخ صحیحتون .
توی ساخت کلید خارجی این موردی که شما عرض کردین رو نمیدونستم و یکی از مهمترین نکته ها توی migration رو بهم یاد دادین
تشکر فراوان . امیدوارم همیشه سالم و موفق باشنین 🌷🌷🌷🌷🌷

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

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