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

- 9 ماه پیش
توسط Mahdi Afiyati آپدیت شد
Mahdi Afiyati ( 14 تجربه )
9 ماه پیش

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

onDelete('set NULL')

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

مهدی ( 9037 تجربه )
9 ماه پیش

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

onDELETE('SET DEFAULT')

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

Mahdi Afiyati ( 14 تجربه )
9 ماه پیش

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

[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
برای ارسال پاسخ باید وارد سایت شوید