Laravel错误:RouteCollection.php第219行

时间:2016-03-13 11:22:06

标签: php laravel

当我想在数据库中插入数据时,我收到此错误

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');

3 个答案:

答案 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)
    ....
}