将 Excel 导入 laravel 中的数据库?

Import Excel to Database in laravel?

我正在尝试导入 excel 文件并将信息保存到数据库 table。现在我收到一个错误

The POST method is not supported for this route. Supported methods: GET, HEAD, PUT, PATCH, DELETE.

我看的所有教程都没有出现这个错误,我也是这样,不知道是什么问题。我正在使用这个包 "maatwebsite/excel": "~2.1.3".

这是我的 vue

<el-form :action="'impteachers/import'" method="post" enctype="multipart/form-data">
    <el-input type="file" name="file"/>
    <el-input type="submit" value="upload"/>
</el-form>

这是控制器

public function import(Request $request)
{
    $request->validate([
        'file' => 'required|mimes:xls,xlsx'
    ]);

    $path = $request->file('file')->getRealPath();
    $data = Excel::load($path)->get();

    if ($data->count()) {
        foreach ($data as $key => $value){
            $arr[] = [
                'NOMBRE' => $value->name,
                'CEDULA' => $value->card,
                'CARNET' => $value->scard,
                'TIPO-USUARIO' => $value->user_type_id,
                'CORREO' => $value->email,
                'PASSWORD' => $value->password,
            ];
        }

        if (!empty($arr)) {
            User::insert($arr);
        }
    }
    return redirect('/imports');
}

这些是web.php

中的路线
Route::resource('impteachers', 'ImportTeacherController');
Route::post('impteachers/import', 'ImportTeacherController@import');

我做错了什么?

尝试仅像这样提交给 '/impteachers'

<el-form :action="'/impteachers'" method="post" enctype="multipart/form-data">
    <el-input type="file" name="file"/>
    <el-input type="submit" value="upload"/>
</el-form>

并将你的路线设置为

Route::post('/impteachers', 'ImportTeacherController@import');