راکت

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

2 پاسخ

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

onDelete('set NULL')

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

ثبت پرسش جدید

پاسخ‌ها

2
مهدی
مهدی
@code2code

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

onDELETE('SET DEFAULT')

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

Mahdi Afiyati
Mahdi Afiyati
@mahdi.afiyati.dalir

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

[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

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

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

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