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

السؤال

نشر

لدي جدول وأريد تحديث بعض صف واحد في هذا الجدول ببعض البيانات المرسلة ضمن الطلب 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...