当我想在数据库中插入数据时,我收到此错误
RouteCollection.php第219行中的MethodNotAllowedHttpException
我使用资源控制器
这是我的表格
<form action="library" method="POST" enctype="multipart/form-data">
{!! csrf_field() !!}
Enter the name of section: <input type="text" name="section_name"> <br>
Upload an image: <input type="file" name="image"> <br>
<button type="submit" class="btn btn-default">Create Section</button>
</form>
这是我的商店功能
public function store(Request $request)
{
$section_name = $request->input('section_name');
$file = $request->file('image');
$destenationPath = 'iamges';
$filename = $file->getClientOriginalName();
$file->move($destenationPath, $filename);
DB::table('sections')->insert(['section_name' => $section_name, 'image_name' => $filename]);
return redirect('admin');
}
这是我的路线
Route::resource('library', 'Main');
答案 0 :(得分:1)
您正在使用action="library"
,因此表单已提交至library
。但是,这里没有什么可以处理library
。您需要将表单提交到store()
控制器中的Mian
方法。
在表单开始标记中将action="library"
更改为action="{{ action('Main@store') }}"
。
答案 1 :(得分:0)
将此route='library.store'
添加到您的表单中:
<form method="POST" route="library.store" enctype="multipart/form-data" files="true">
你的溃败应该是:
Route::resource('library', 'controller_class_name');
答案 2 :(得分:0)
将路线更改为:
Route::resource('library', 'MainController');
另外,请检查您的控制器。它应该放在app\Http\Controllers
目录中,名为MainController.php
,它应该包含以下代码:
class MainController extends Controller
{
....
public function store(Request $request)
....
}