csv 在laravel 10作业中调用未定义的方法Rap2hpoutre\FastExcel\Facades\FastExcel::import(),尽管该方法存在

3npbholx  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(126)

下面给出一个控制器,当(new FastExcel)->import($fullPath,function($row)部分未注解时,我可以看到用户被插入到数据库中。但是当我把这个逻辑转移到一个工作中时
调用未定义的方法Rap2hpoutre\FastExcel\Facades\FastExcel::import()
该方法显然存在,因为我能够在控制器中使用它,只在工作中失败。知道为什么会这样吗

<?php

namespace App\Http\Controllers;

use App\Http\Requests\UploadContactsRequest;
use App\Imports\ContactsImport;
use App\Jobs\ProcessContactCsv;
use App\Models\Contact;
use Illuminate\Support\Facades\Storage;
use Maatwebsite\Excel\Facades\Excel;
use Rap2hpoutre\FastExcel\FastExcel;

class ContactController extends Controller
{
    public function import(UploadContactsRequest $uploadContactsRequest)
    {
        $file = $uploadContactsRequest->file('file');

        $path = $file->store('temp');
        $fullPath = Storage::path($path);

        ProcessContactCsv::dispatch($fullPath, auth()->user()->id);

        // $contacts = (new FastExcel)->import($fullPath, function ($row) {
        //     $contact = new Contact([
        //         'firstname' => $row['firstname'],
        //         'lastname' => $row['lastname'],
        //         'date_of_birth' => $row['date_of_birth']

        //     ]);
        //     $contact->owner_id = auth()->user()->id;
        //     $contact->save();
        //     return $contact;
        // });
        return redirect('/')->with('success', 'All good!');
    }
}

个字符

yv5phkfx

yv5phkfx1#

看起来这个问题是一个缓存问题,我很可能导入错误,并启动了php工匠队列:工作重新启动这个问题得到了解决

相关问题