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 关注
- 95 浏览
添加回答
举报