علي العبدالله2 نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 App\Http\Controllers\DayController::update(): Argument #2 ($day) must be of type App\Models\Day, string given, called in C:\laragon\www\HabitsAndSkills\vendor\laravel\framework\src\Illuminate\Routing\Controller.php on line 54 public function update(Request $request, Day $day) { $day->update([ 'done' => request()->has('done') ]); return back(); } 1 اقتباس
1 بلال زيادة نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 بتاريخ 2 دقائق مضت قال علي العبدالله: Route::patch('/habits/{habit}/days/{day}', [DayController::class, 'update']); هل هذا غير صحيح ؟ يجب إضافة التالي إلى الدالة update أي تصبح بهذا الشكل public function update(Request $request, Habit $habit, Day $day) { $day->update([ 'done' => request()->has('done') ]); return back(); } طبعا قوم بالتعويض عن Habit $habit, بالمودل الخاص بك. لأن دالة المسار يحتوي على متغيرين. 2 اقتباس
1 محمد أبو عواد نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 يجب أن يكون اسم المتغير الذي تستخدمه المسار المؤدي للتابع update بنفس اسم المتغير المستخدم في التابع update, مثلا لديك في التابع update المتغير $day , اذا يجب أن يكون في المسار اسمه {day} ايضا, تأكد من ذلك رجاء اذا استمرت المشكلة أرجو منك ارفاق ملفات المشروع للمساعدة بشكل افضل 2 اقتباس
1 بلال زيادة نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 تأكد في ملف web.php أن المسار الصحيح هو بهذا الشكل Route::put('/{day}', 'YourController@update'); أي يجب أن يكون اسم المتغير {day} 1 اقتباس
1 سمير عبود نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 بتاريخ 1 دقيقة مضت قال علي العبدالله: Route::patch('/habits/{habit}/days/{day}', [DayController::class, 'update']); هل هذا غير صحيح ؟ من خلال المسار انت تُمرر مُتغيرين للدالة update احدهما habit و الثاني day لكن بما أن الدالة تستقبل معامل واحد day فإن قيمته هي قيمة المُتغير الأول في المسار يجب أن تكون الدالة بهذا الشكل: public function update(Request $request, $habit ,Day $day) 1 اقتباس
0 علي العبدالله2 نشر 5 يونيو 2021 الكاتب أرسل تقرير نشر 5 يونيو 2021 Route::patch('/habits/{habit}/days/{day}', [DayController::class, 'update']); هل هذا غير صحيح ؟ اقتباس
0 محمد أبو عواد نشر 5 يونيو 2021 أرسل تقرير نشر 5 يونيو 2021 بتاريخ 1 دقيقة مضت قال علي العبدالله: Route::patch('/habits/{habit}/days/{day}', [DayController::class, 'update']); هل هذا غير صحيح ؟ المسار يحتاج الى متغيرين , المتغير الاول habit والمسار الثاني day, أنت قمت بتمرير متغير واحد فقط, لذلك حاول تعديل الكود بما يتناسب مع المسار 1 اقتباس
السؤال
علي العبدالله2
App\Http\Controllers\DayController::update(): Argument #2 ($day) must be of type App\Models\Day, string given, called in C:\laragon\www\HabitsAndSkills\vendor\laravel\framework\src\Illuminate\Routing\Controller.php on line 54
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.