راکت
حل شده

پرکردن خودکار فیلد جدول در لاراول

5 پاسخ

سلام من تو یکی از جدول هام یه ستون دارم به اسم expire_date که از نوع DateTime هست و یه ستون دیگه هم دارم به اسم two_day_before که این هم از نوع DateTime هستش
میخوام وقتی که expire_date ثبت میشه خودکار همون مقدار expire_date رو 2 روز ازش کم کنه و بریزش توی two_day_before
@ali.bayat
@Alimotreb
@drcode.ir

ثبت پرسش جدید

پاسخ‌ها

5
محمد صادقیان
محمد صادقیان
@drcode.ir

تخصص: برنامه نویس وب - فریم ورک Laravel

بهترین پاسخ

تابع زیر رو توی Model خودتون قرار بدید.

public function setexpireAttribute($value)
{
  $this->attributes['expire'] = $value;
  $this->attributes['two_day_before'] = date('Y-m-d H:i:s', strtotime($value.'-2 day'));
}

فقط نام expire_date رو به expire تغییر بدید.

mahdi mehrabi
mahdi mehrabi
@mahdimehrabi17

@drcode.ir
expire رو با expire_date عوض کردم ولی کار نکرد :(
این تابع نباید جایی فراخونی بشه ؟

محمد صادقیان
محمد صادقیان
@drcode.ir

تخصص: برنامه نویس وب - فریم ورک Laravel

@mahdimehrabi17
نه نیازی نیست جایی فراخوانی بشه.
الان نام فیلد شما expire هست درسته؟

اگر ممکنه کد جایی که store می کنید رو قرار بدید.

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

mahdi mehrabi
mahdi mehrabi
@mahdimehrabi17

@drcode.ir
خیر اسمه فیلدم expire نیست کد شما expire هاش رو به expire_date تغیر دادم

محمد صادقیان
محمد صادقیان
@drcode.ir

تخصص: برنامه نویس وب - فریم ورک Laravel

نه منظورم این بود که توی جدول و کدهاتون expiredate رو به expire تغییر بدید.توی این روش رو نمی تونه بخونه. شما از expire استفاده کن حل میشه.

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

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