Laravel 6.8 PUT方法不适用于控制器之一,显示空白页
任何建议或解决方案都是最欢迎的。以下是总结代码。
路由指针不在控制器更新功能下
HTML edit.blad.php(我使用{{method_field('PUT')}}测试)
<form class="form-horizontal" action="{{ route('certificate.update',$certificate_data->id) }}" method="post">
{{ csrf_field() }}
<input type="hidden" name="_method" value="PUT">
// Other Form Fields
</form>
web.php(路由文件)
Route::group(['prefix' => 'admin'], function(){
Route::resource('certificate', 'CertificateController');
});
PHP的工匠路线:列表
http://prntscr.com/qf662i
this is output of route:list
控制器功能
public function update(Request $request, Certificate $certificate)
{
echo 'vvvvv';
return $certificate;
return $input = $request->all();
}
指针未进入控制器更新,仅显示空白页
我还测试了控制器的所有功能
供参考->如果我更改web.php并执行以下代码,则指针将到达那里。但不进入Controller更新功能。
Route::put('certificate/{certificate}', function ($certificate) {
return $certificate;
})->name('certificate_update');
参考方案
根据您的代码,一切看起来都不错。
您已经按照此处的专家建议测试了PUT和PATCH版本。
您可以将指针放到路由文件(web.php)中,但不能放到控制器的Any函数>>>中,这意味着指针未传递到控制器。
指针未从路由文件进入控制器的原因
您的路径或控制器名称错误/不匹配
从另一个地方调用控制器文件
题
存储在其中的任何BACKUP FOLDER或BACKUP CONTROLLER文件? [\ app \ Http \ Controllers \]
如果答案为“是”,则有可能从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;
}
让我知道此过程是否对您有帮助。祝好运。
检查对象是否已在集合中-Laravel - php当我循环一系列不同的结果时,我希望将对象添加到新集合中。查询:$osRed = Item::where('category', 'Hardware') ->where(function ($query) { $query->where('operating_system', '…
Laravel 5错误报告抑制 - php在Laravel 4中,抑制E_NOTICE消息很容易;我似乎无法做到这一点,因为如果我添加error_reporting(E_ALL ^ E_NOTICE) 它只是被覆盖的任何地方。这似乎发生在这里:(index.php)$response = $kernel->handle( $request = Illuminate\Http\Request::…
Laravel打印日志 - php我正在尝试在控制台上打印日志:我输入了:use Log; 然后在控制器中使用 Log::info('test log'); 但它不打印任何日志。 参考方案 我认为您需要在运行后检查storage/logs/laravel.logLog::info('test log'); 希望这对您有帮助
Laravel迁移外键 - php我正在尝试在Laravel中建立一些关系,我对关系和迁移有些困惑。这是我正在做的一个简单示例:Users -> has_many -> Cats 因此,我的用户迁移文件与Cats的关系如下:$table->foreign('cats_id')->references('id')->on(&…
如何在Laravel中通过路由名称获取带有名称空间的路由? - php我有一条路线如下Route::group(['prefix' => '/entry', 'namespace' => 'acme'], function() { Route::get('add', [ 'uses' => …