Laravel Excel - MaatWebsite/Excel's Import Operation raising DB Connection not Configured error

xtupzzrd  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(143)

我正在使用Laravel 6.2和Maatwebsite/Excel 3.1在这里我试图导入一个Excel文件,并愿意获得数据存在于它在数组格式和在控制器中,我需要验证其中的一些数据,沿着一些其他字段,我需要插入Excel获取数组数据到数据库。Laravel应用程序没有直接的数据库连接。我现在调用API把这些字段插入数据库,但是导入操作给出**Database connection [] not configured.**错误,帮我梳理一下实际问题。
控制器代码

public function importExcelData(Request $request) {
   // dd($request->excelFile);
   $data = Excel::import(new UsersImport, request()->file('your_file'));
    dd($data);
}

用户导入文件

<?php

namespace App\Imports;
use Maatwebsite\Excel\Concerns\ToArray;

class UsersImport implements ToArray 
{
    public function Array(Array $tables)
    {
        return $tables;
    }
}
?>

i86rm4rw

i86rm4rw1#

您必须在config\excel. php文件中指定数据库连接,您需要在db键下声明它。您可以从config/database. php文件中已经定义的连接中选择一个。
例如,如果您在config/database.php中声明了Oracle连接,则可以在config\excel.php文件中使用它,如下所示:

'transactions' => [
    'handler' => 'db',
    'db'      => [
        'connection' => 'oracle',
    ],
],
km0tfn4u

km0tfn4u2#

在浏览器控制台的网络响应中出现错误堆栈后,我得到了我可以很容易地解决这个错误。根据Laravel Excel文档在这里输入链接描述,我们需要在命令提示符下运行此命令

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

执行此命令后,在应用程序的 config 文件夹下创建了“excel.php”文件
在该文件中,我们可以找到以下代码

'transactions' => [
        'handler' => 'db',
 ],

我们需要把它改成

'transactions' => [
        'handler' => 'null',
 ],

现在,在使用dd()转储导入结果后,我看到这些数据出现在Excel文件中。

相关问题