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

خطأ Model::update() should not be called statically في لارافيل Laravel

Emad Saif

السؤال

لدي جدول وأريد تحديث بعض صف واحد في هذا الجدول ببعض البيانات المرسلة ضمن الطلب request، ولهذا قمت بكتابة التالي:

public function store(Request $request)
{
    Feature::update($request->id, Request::all());
    return redirect('settings.features');
}

لكن يظهر الخطأ التالي عندما يعمل الكود السابق:

Non-static method Illuminate\Database\Eloquent\Model::update() should not be called statically, assuming $this from incompatible context

ما المشكلة في الكود؟ هل يمكن تعديل صف معين في قاعدة البيانات بطريقة مختلفة؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يحدث هذا لأن التابع update تابع غير ثابت، على عكس insert او create مثلا. يجب الاشارة الى انموذج من الصنف Feature لتعديل بياناته فأنت تستهدف عنصرا معينا.

فبدل:

Feature::update($request->id, Request::all());

للبحث عن "ميزة" معينة وتعديل بياناتها. نستعين بـ find للبحث والاستعلام و update للتحديث والتجاوز:

Feature::find($request->id)->update(Request::all());

مقدمة إلى رابط الكائنات بالعلاقات Eloquent

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...