زمزم بنت يوسف نشر 15 فبراير أرسل تقرير نشر 15 فبراير السلام عليكم أحتاج إلى مساعدة هنا احاول اختبار فينكشن update ، لغيرت الايميل والصورة ولكن لم يتم تحديث البيانات في قاعدة البيانات ما هو سبب؟ أرفق لكم صورة من postman و صورة لكود ... ما هو الخطأ؟ 1 اقتباس
0 محمد عاطف17 نشر السبت في 19:38 أرسل تقرير نشر السبت في 19:38 بتاريخ 15 دقائق مضت قال زمزم بنت يوسف: استخدمت log لتأكد على البينات المرسلة وحصلت على هذه النتيجة ... هل المشكلة في استقبال الداتا من postman? وكيف مفترض ادخالها إذا كان خطأ؟ من الممكن أن المشكلة في postman لنحاول إرسال الطلب من نوع POST اي يجب عليكي تغير PUT إلى POST وإضافة : _method بقيمة PUT في البيانات هكذا : 1 اقتباس
0 محمد عاطف17 نشر السبت في 18:13 أرسل تقرير نشر السبت في 18:13 وعليكم السلام ورحمة الله وبركاته. الخطأ لديكي أنكي تقومين بتعريف data كمعامل في الدالة . وتقومين بتمريرها للدالة update دون وضع البيانات بها . حيث البيانات تكون في الطلب request ولا يتم تمريرها إلى data تلقائيا. لذلك يجب في بداية الدالة كتابة السطر التالي : $data = $request->all(); وهكذا سيتم تمرير البيانات إلى المتغير data وهي البيانات التي تم إرسالها من النموذج form وهكذا ستحتوي data على البيانات الصحيحة وسيتم تمريرها إلى الدالة update . ويفضل حذف data من المعاملات الخاصة بالدالة . اقتباس
0 زمزم بنت يوسف نشر السبت في 18:29 الكاتب أرسل تقرير نشر السبت في 18:29 بتاريخ 14 دقائق مضت قال محمد عاطف17: وعليكم السلام ورحمة الله وبركاته. الخطأ لديكي أنكي تقومين بتعريف data كمعامل في الدالة . وتقومين بتمريرها للدالة update دون وضع البيانات بها . حيث البيانات تكون في الطلب request ولا يتم تمريرها إلى data تلقائيا. لذلك يجب في بداية الدالة كتابة السطر التالي : $data = $request->all(); وهكذا سيتم تمرير البيانات إلى المتغير data وهي البيانات التي تم إرسالها من النموذج form وهكذا ستحتوي data على البيانات الصحيحة وسيتم تمريرها إلى الدالة update . ويفضل حذف data من المعاملات الخاصة بالدالة . ما زال يوجد نفس المشكلة...بالنسبة لفينكشن update لدي اثنتين واحدة في الكونترولر والثانية في سيرفس اقتباس
0 محمد عاطف17 نشر السبت في 18:54 أرسل تقرير نشر السبت في 18:54 بتاريخ 21 دقائق مضت قال زمزم بنت يوسف: ما زال يوجد نفس المشكلة...بالنسبة لفينكشن update لدي اثنتين واحدة في الكونترولر والثانية في سيرفس يرجى حذف السطر الذي أخبرتك بوضعه . لقد ظننت أن هذا هو ال controller وليس ال service . من المفترض أن يتم التعديل . هل قمتي بوضع المتغير $fillable في ال model الخاص بال Organizer ؟ حيث يجب وضع الأعمدة التي تريدين أن يتم تعديلها أو حفظها من خلال ال mass assignment . حيث إذا لم يتم وضع المتغير $fillable فلن يتم تعديل الأعمدة الموجودة بهذا النموذج. لذلك يجب التأكد من وجود السطر التالي في النموذج Organizer : protected $fillable = ['name','image']; اقتباس
0 زمزم بنت يوسف نشر السبت في 19:00 الكاتب أرسل تقرير نشر السبت في 19:00 بتاريخ 5 دقائق مضت قال محمد عاطف17: يرجى حذف السطر الذي أخبرتك بوضعه . لقد ظننت أن هذا هو ال controller وليس ال service . من المفترض أن يتم التعديل . هل قمتي بوضع المتغير $fillable في ال model الخاص بال Organizer ؟ حيث يجب وضع الأعمدة التي تريدين أن يتم تعديلها أو حفظها من خلال ال mass assignment . حيث إذا لم يتم وضع المتغير $fillable فلن يتم تعديل الأعمدة الموجودة بهذا النموذج. لذلك يجب التأكد من وجود السطر التالي في النموذج Organizer : protected $fillable = ['name','image']; نعم لقد وضعت هذا المتغير protected $fillable = ['name', 'email', 'image']; اقتباس
0 محمد عاطف17 نشر السبت في 19:03 أرسل تقرير نشر السبت في 19:03 بتاريخ الآن قال زمزم بنت يوسف: نعم لقد وضعت هذا المتغير protected $fillable = ['name', 'email', 'image']; يرجى إستبدال $request->all() بالكود $request->validated(). أى في الجزء المشار إليه في الصورة السابقة يرجى إستبداله بالتالي : $request->validated() ويرجى أيضا محاولة طباعة السطر السابق والتاكد من أن البيانات التي يتم إرسالها من postman تصل بشكل صحيح. إذا إستمرت المشكلة يرجى إرفاق المشروع للإطلاع عليه ومساعدتكي بشكل افضل. اقتباس
0 زمزم بنت يوسف نشر السبت في 19:21 الكاتب أرسل تقرير نشر السبت في 19:21 بتاريخ 15 دقائق مضت قال محمد عاطف17: يرجى إستبدال $request->all() بالكود $request->validated(). أى في الجزء المشار إليه في الصورة السابقة يرجى إستبداله بالتالي : $request->validated() ويرجى أيضا محاولة طباعة السطر السابق والتاكد من أن البيانات التي يتم إرسالها من postman تصل بشكل صحيح. إذا إستمرت المشكلة يرجى إرفاق المشروع للإطلاع عليه ومساعدتكي بشكل افضل. استخدمت log لتأكد على البينات المرسلة وحصلت على هذه النتيجة ... هل المشكلة في استقبال الداتا من postman? وكيف مفترض ادخالها إذا كان خطأ؟ اقتباس
0 زمزم بنت يوسف نشر السبت في 20:05 الكاتب أرسل تقرير نشر السبت في 20:05 بتاريخ 26 دقائق مضت قال محمد عاطف17: من الممكن أن المشكلة في postman لنحاول إرسال الطلب من نوع POST اي يجب عليكي تغير PUT إلى POST وإضافة : _method بقيمة PUT في البيانات هكذا : صار الآن الحمدلله ، شكرا لك جزاك الله خيرا عظيما لو سمحت ممكن تشرح لي لماذا فعلنا هكذا؟ 1 اقتباس
0 محمد عاطف17 نشر السبت في 20:09 أرسل تقرير نشر السبت في 20:09 بتاريخ 6 دقائق مضت قال زمزم بنت يوسف: صار الآن الحمدلله ، شكرا لك جزاك الله خيرا عظيما لو سمحت ممكن تشرح لي لماذا فعلنا هكذا؟ لا داعي للشكر . وإياكم اللهم آمين . هذه مشكلة في postman بسبب أنه إذا أردنا إرسال بيانات من خلال طلب PUT أو PATCH يجب أن يتم إرسالها من خلال x-www-form-urlencoded : ولكن x-www-form-urlencoded لا تدعم إرسال ملفات ولهذا يمكننا إرسال الطلب ك POST ولكن نضيف ال _method بنوع الطلب الذي نريده سواء PUT أو PATCH و سيتم إرسال البيانات دون أى مشاكل وسيستطيع لارافل التعرف على نوع الطلب من خلال ال _method. وهذه المشكلة شائعة في Postman 1 اقتباس
السؤال
زمزم بنت يوسف
السلام عليكم
أحتاج إلى مساعدة
هنا احاول اختبار فينكشن update ، لغيرت الايميل والصورة ولكن لم يتم تحديث البيانات في قاعدة البيانات ما هو سبب؟
أرفق لكم صورة من postman و صورة لكود ... ما هو الخطأ؟
9 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.