1 回答

TA貢獻1942條經驗 獲得超3個贊
根據您的代碼,一切看起來都很好。
您已經根據此處的專家建議測試了 PUT & PATCH 變體。
您可以將指針指向路由文件(web.php),但不能指向控制器的 Any 函數 >>> 這意味著指針沒有傳遞給控制器。
指針未從路由文件進入控制器的原因
您的路徑或控制器名稱錯誤/不匹配
從其他地方調用控制器文件
問題
任何 BACKUP FOLDER 或 BACKUP CONTROLLER 文件存儲在 ?? [ \app\Http\Controllers\ ]
如果答案是 YES,那么可能從 laravel 緩存中調用了來自備份的錯誤控制器。從控制器文件夾中刪除那些備份文件和文件夾。
解決方案
我認為控制器 PATH 被緩存,而是調用了錯誤的控制器。嘗試以下命令清除常規緩存。
php artisan cache:clear
php artisan route:cache
php artisan config:cache
php artisan view:clear
清除控制器文件/路徑緩存。我們將不得不重新生成自動加載。
嘗試以下命令。(這一步很重要)
composer dumpautoload
如果這解決了您的問題,那么您可以使用正常的 html edit.blade 表單語法,如下所示。
<form action="{{ route('certificate.update',$certificate_data->id) }}" method="post">
{{ csrf_field() }}
{{ method_field('PUT') }}
// Other form fields
</form>
在您的控制器上。您的正常代碼應該如下所示。
public function update(Request $request, Certificate $certificate)
{
return $certificate;
}
讓我知道這個過程是否對您有幫助。祝你好運。
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報