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

لما لا يتم حفظ سجل معين في قاعدة البيانات عند تحديث انموذج البيانات المعني في لارفيل؟

عبد الرؤوف حشايشي

السؤال

السلام عليكم.

لـدي استمارة بسيطة كالتالي:

<form action="/profile" method="POST">
  @csrf
  @method('PATCH')
  <select name="job_title">
    <option value="1" {{($user->job_title == 1) ? 'selected' : ''}}>job one</option>    
    <option value="2" {{($user->job_title == 2) ? 'selected' : ''}>job two</option>
    <option value="3" {{($user->job_title == 3) ? 'selected' : ''}>job three</option>
  </select>
  <button type="submit">Save</button>
</form>

عند حفظها و إعادة تحميل الصفحة تتغير الواجهة كما هو مطلوب و لكن قاعدة البيانات لا يتم تحديثها.

هذا هو الكود في الcontroller:

cntrl.PNG.52f38ef4d5aaf2d412f94caf7839a77d.PNG

و هذا هو ملف التهجير:

mgrt.PNG.b895da5b73344b82c18e755197c6dfbd.PNG

و هاهي قاعدة البيانات السطر لا يتم تحديثه إضافة إلى أني أعطيت العمود job_title قيمة افتراضية '1' تظهر  0.jb-t.PNG.4383b09ca5c8374e48f6bdbd043ac07a.PNG

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

Recommended Posts

  • 0

أولا، لا أرى أنك تقوم باضافة العمود المعني في جدول المستخدمين او في ملف تهجيره. تأكد من ذلك أولا:

$table->string('job_title')->default(1)

ثانيا، الدالة المساعدة request تقوم باعادة سلسلة نصية تعبر عن قيمة المعامل الممرر عبرها. في حين ان التابع update يقبل مصفوفة ترابطية المفاتيح فيها هي اسماء الاعمدة والقيم فيها هي قيم هاته الاعمدة. بمعنى أنك لا زلت تحتاج الاشارة الى password في التابع update كـ:

->update(['password' => request('password')])

او مباشرة:

->update(request()->only('password'))

يفترض ان يحل هذا المشكلة لديك.

اعرف أكثر عن Eloquent من خلال مقدمة إلى رابط الكائنات بالعلاقات 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...