Mahdi Afiyati
6 سال پیش توسط Mahdi Afiyati مطرح شد
2 پاسخ

مقدار دهی پیش فرض کلید خارجی در صورت حذف والد

سلام .
من در جدول کاربران یک کلید خارجی دارم برای مثال city_id من نمی خوام وقتی شهر حذف شد کاربر حذف بشه یا در جدول کاربران ستون city_id مقدار پیش فرض NULL قرار بگیر . من کلی سرچ کردم میشه وقتی کلید خارجی را تعریف کرد

onDelete('set NULL')

قرار داد ولی اون وقت مقدار null میشه که من نمی خوام null بشه درواقع میخوام برای مثال مقدار 1 قرار بگیر .


ثبت پرسش جدید
مهدی
@code2code 6 سال پیش مطرح شد
0

فک کنم متد زیر هم استفاده کنی

onDELETE('SET DEFAULT')

البته اگه توسط لاراول حذف میشه میشه متد ها رو توی تابع destroy هم قرار داد


Mahdi Afiyati
@mahdi.afiyati.dalir 6 سال پیش مطرح شد
0

مهدی دالوند عزیز
من از کدی که شما فرمودید هم استفاده کردم اما متاسفانه خطای زیر را میده .

[Illuminate\Database\QueryException]
  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `users`
  add constraint `users_language_id_foreign` foreign key (`language_id`) references `languages` (`i
  d`) on delete set default)

  [PDOException]
  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

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

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