• 0

كيف أُدخل قيمة date داخل قاعدة بيانات باستخدام Laravel؟

اُبرمج على إطار العمل Laravel في نسخته 5.1 ، وأحاول إدخال قيمة التاريخ date داخل Db من نوع Mysql بالشكل التالي:

public function update(Request $request, $id)
{
  $user = User::findOrFail($id);      
  $data = $request->all();         
  $data['birthdate'] = date("Y-d-m", strtotime($data['birthdate']));
  ...
  $user->fill($data)->save();

استخدمت Elequent للمستخدم User بالشكل التالي:

public function getBirthdateAttribute() {
    return date('d/m/Y', strtotime($this->attributes['birthdate']));        
}

public function setBirthdateAttribute($value) {              
    $this->attributes['birthdate'] = Carbon::createFromFormat('Y-m-d', $value);
}

لكن الأمر لم ينجح، فكيف أحل المشكل؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

لحلّ المشكل، قم بتغيير السطر التالي:

date("Y-d-m", strtotime($data['birthdate']));

إلى:

date("Y-m-d", strtotime($data['birthdate']));

والسبب ببساطة أن format التاريخ يجب أن تكون على الشكل :dd-mm-yyyy، ثم يمكن تغييرها إلى الشكل dd/mm/yyyy، بالطريقة التالية:

$date = '22/05/2012';
$date = str_replace('/', '-', $date);
$date = date('Y-m-d', strtotime($date));
تمّ تعديل بواسطة E.Nourddine

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن