تم العثور على بيانات غير متوقعة أثناء الحفظ على بليغ / لارافيل

StackOverflow https://stackoverflow.com//questions/23042630

سؤال

لدي حقل واحد أكثر على قاعدة البيانات على created_at و updated_at كما TIMESTAMP اسم الحقل هو التاريخ.

لذلك أنا الكتابة فوق الأسلوب getDates() على نموذجي بليغ لأنني أردت أن يتم إنشاء مثيل لهذا المجال من الكربون.

public function getDates()
{
   return ['date','created_at','updated_at'];
}

ولكن عندما أذهب إلى إنشاء سجل جديد على قاعدة البيانات فإنه رمي لي استثناء:

تم العثور على بيانات غير متوقعة إنفاليدارغومينتكسيبتيون.تم العثور على بيانات غير متوقعة.تم العثور على بيانات غير متوقعة.

بس:القيمة المرسلة من النموذج بتنسيق الاتحاد الأوروبي: d-m-Y h:i

أنا لا أعرف كيف معرفة هذه المشكلة هي موضع تقدير أي اقتراح

هل كانت مفيدة؟

المحلول

تم دمج صفيف عاد من جيتداتس مع دافولت واحد مما أدى إلى:

['created_at','updated_at','deleted_at','date','created_at','updated_at'];

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


حاول إعداد متحور ل 'التاريخ' لتحويل البيانات من المدخلات إلى تنسيق الطابع الزمني.الخطأ الذي تحصل عليه ليس على بليغ ولكن الكربون.

public function setDateAttribute($value)
{
    $this->attributes['date'] = Carbon\Carbon::createFromFormat('d-m-Y h:i', $value);
}

أيضا هناك خطأ في المستندات ، كما جيتداتس يحدد تاريخ أسيسورس ، وليس موتورس..

نصائح أخرى

جرب هذا:

Carbon::createFromFormat('d.m.Y H:i', $request->publishdate);    

لا يمكنك استخدام التنسيق الخاص بك "د-م-ص ح: أنا"

يجب عليك استخدام واحد من هؤلاء:الطابع الزمني يونكس ، سلسلة التاريخ (ص-م-د) ، سلسلة التاريخ والوقت ، التاريخ والوقت / مثيل الكربون

https://laravel.com/docs/4.2/eloquent#accessors-and-mutators

على الرغم من أنها مشكلة عمرها عام وأنا أضع مدخلاتي لأي شخص لا يزال يكافح حتى بعد ضبط المتحور.

إذا كان عنصر تاريخ إدخال هتمل يمر التاريخ بتنسيق أتوم (1975-12-25 طن 14:15:16-05:00) ثم لن يساعد موتاتور التاريخ.تحتاج إلى تطبيق الإصلاح التالي في تضيء \ قاعدة البيانات \ بليغ \ فئة نموذج في السطر#2848 للحصول على عمل (في لارافيل#5).

$value = Carbon::createFromFormat($format, (new DateTime($value))->format('Y-m-d H:i:s'));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top