اذهب إلى المحتوى

السؤال

نشر

أحاول أن أقوم بتعديل قيمة العمود updated_at في جدول users في كل مرة يقوم المستخدم بتسجيل الدخول، وقمت بكتابة الكود التالي:

$user = Auth::user();
$user->updated_at = DB::raw('NOW()');
$user->save();

من المفترض الآن أن يتم تعديل قيمة updated_at ولكن ما يحدث هو ظهور الخطأ التالي:

InvalidArgumentException A four digit year could not be found Data missing

ولا يتم تعديل قيمة updated_at على الإطلاق.

ما معنى هذا الخطأ؟ وما المشكلة هنا؟

Recommended Posts

  • 1
نشر

الخطأ لديك في تنسيق التاريخ، وهو مختلف عن ما هو موجود في تعريف النموذج.

إن أفضل طريقة لتعديل زمن آخر تعديل لحقل في لارافل هو استخدام دالة Eloquent وهي touch

$user->touch();

حل آخر هو استخدام date المقدم من PHP كالتالي:

$user->updated_at = date('Y-m-d G:i:s');

من الأفضل ترك الحقل updated at وعدم ربطه مع موضوع تسجيل الدخول، وعمل حقل آخر واستخدامه مثل last_login، اترك الحقل updated at للتعديلات الفعلية على قيم هذا الحقل.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...