【发布时间】:2019-04-25 15:04:04
【问题描述】:
你好,这里有个错误提示:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 没有消息
当我更新内容时。我有一个图像和一个视图要更新。
以下是我的看法。有内容被编码的地方。我在这里有提交按钮,它将触发更新。和表格@update。
admin/airlineplus/paxsafety.blade.php
{!! Form::open(['action'=>['Admin\PaxSafetyController@update', $paxsafe->id], 'method' => 'POST','enctype'=>'multipart/form-data']) !!}
<div class="form-group">
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th>Upload new Image and Video</th>
<td> {{ Form::file('paxsafety_image[]') }} <strong>{{ $paxsafe->paxsafety_image }} </strong> </td>
<td> {{ Form::file('paxsafety_video[]') }} <strong>{{ $paxsafe->paxsafety_video }} </strong></td>
</td>
</tr>
</table><br><br>
{{Form::submit('submit', ['class'=>'btn btn-primary', 'name'=>'submit'])}}
</div>
</div>
{!! Form::close() !!}
接下来,我的控制器。
MyCoolController.php
$this->validate($request, [
'paxsafety_image' => 'required',
'paxsafety_video' => 'required'
]);
if ($request->has('paxsafety_image') && $request->has('paxsafety_video'))
{
//Handle File Upload
$paxSafety = [];
foreach ($request->file('paxsafety_image') as $key => $file)
{
// Get FileName
$filenameWithExt = $file->getClientOriginalName();
//Get just filename
$filename = pathinfo( $filenameWithExt, PATHINFO_FILENAME);
//Get just extension
$extension = $file->getClientOriginalExtension();
//Filename to Store
$fileNameToStore = $filename.'_'.time().'.'.$extension;
//Upload Image
$path = $file->storeAs('public/paxsafety_folder',$fileNameToStore);
array_push($paxSafety, $fileNameToStore);
}
$paxSafetyVideo = [];
foreach ($request->file('paxsafety_video') as $key => $file)
{
// Get FileName
$filenameWithExt2 = $file->getClientOriginalName();
//Get just filename
$filename = pathinfo( $filenameWithExt2, PATHINFO_FILENAME);
//Get just extension
$extension2 = $file->getClientOriginalExtension();
//Filename to Store
$fileNameToStore2 = $filename.'_'.time().'.'.$extension2;
//Upload Image
$path = $file->storeAs('public/paxsafety_folder',$fileNameToStore2);
array_push($paxSafetyVideo, $fileNameToStore2);
}
$fileNameToStore = serialize($paxSafety);
$fileNameToStore2 = serialize($paxSafetyVideo);
}
foreach ($paxSafety as $key => $value) {
foreach ($paxSafetyVideo as $key => $values) {
$paxsafe = PaxSafety::find($id);
if($request->hasFile('paxsafety_image')){
$paxsafe->paxsafety_image = $value;
}
if($request->hasFile('paxsafety_video')){
$paxsafe->paxsafety_video = $values;
}
$paxsafe->save();
}
}
return redirect('/admin/airlineplus/paxsafety')->with('success', 'Inflight Magazine Content Inserted');
请指导我在 Laravel 中编码的新手
【问题讨论】:
-
您似乎错过了控制器代码的开头?无论如何,HTTP 中的“方法不允许”异常意味着服务器不允许您用来发出请求的 HTTP 方法在您发送到的 URL 处使用。例如您的表单使用 HTTP“POST”方法提交,但也许您没有将操作方法设置为接受 POST 请求。也许它只接受 GET 什么的。
-
嗨,夏天,您能否发布指向处理此问题的方法的路线?
-
嗨 @Josh 这是我的路线 Route::resource('/admin/airlineplus/paxsafety', 'Admin\PaxSafetyController');
-
它适用于插入...但是当我更新它时发生错误
-
我已经解决了这个问题..我忘了把 csrf 或 PUT 方法放在提交按钮上方 :;) LOL 谢谢你的 HTTP