【问题标题】:Route undefined when importing in Laravel excel在 Laravel excel 中导入时路由未定义
【发布时间】:2021-06-03 23:30:26
【问题描述】:

我正在尝试使用Laravel excelimport 功能,但即使路由已注册,它也始终返回Route: undefined error。请参阅我的代码,以及下面的详细信息。

web.php

Route::get('admin/doctors/bulk-upload/data', [
    'middleware' => ['auth', 'auth.admin'],
    'as' => 'admin.doctors.bulk-upload.data',
    'uses' => 'Admin\DoctorUploadController@create'
]);

Route::post('admin/doctors/bulk-data/upload', [
    'as' => 'admin.doctors.bulk-data.upload',
    'uses' => 'Admin\DoctorUploadController@upload'
]);

UsersImport.php

namespace App\Imports;

use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithValidation;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class UsersImport implements ToModel, WithHeadingRow//, WithValidation
{

    public function model(array $row)
    {

        $user = User::create([
            'name' => $row['first_name'] . ' ' . $row['last_name'],
            'email' => $row['email'],
            'password' => bcrypt($row['email']),
            'role' => 'doctor',
            'status' => 1
        ]);

        return $user;
    }

    public function headingRow()
    {
        return 1;
    }

}

控制器

use App\Imports\UsersImport;
use App\Http\Controllers\Controller;
use Maatwebsite\Excel\Facades\Excel;

class DoctorUploadController extends Controller
{

    public function create()
    {
        return view('admin.doctors.bulk-upload');
    }

    public function upload()
    {
        $this->validate(request(), [
            'excel' => ['required', 'file', 'mimes:xlsx']
        ]);
        
        Excel::import(new UsersImport, request()->file('excel'));

        return redirect()->route('doctors.bulk-upload.data')->with('message', 'Data has been uploaded!');
    }

}

查看

<form action="{{ route('admin.doctors.bulk-data.upload') }}" method="post" enctype="multipart/form-data" id="formUpload">
        {{ csrf_field() }}

    <div class="mb-3">
        <input type="file" class="pointer" name="excel" accept=".xlsx">
    </div>

    <button class="btn btn-primary btn-block">
        <span class="fas fa-file-upload"></span> Upload
    </button>
</form>

错误

路线 [医生.bulk-upload.data] 未定义。

【问题讨论】:

    标签: excel laravel laravel-excel


    【解决方案1】:

    您在重定向路由 doctors.bulk-upload.dataadmin.doctors.bulk-upload.data 时出错

    return redirect()->route('admin.doctors.bulk-upload.data')->with('message', 'Data has been uploaded!');
        
    

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 2018-12-16
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 2020-02-06
      • 2015-01-16
      • 2019-05-03
      相关资源
      最近更新 更多