不允许序列化“Doctrine\DBAL\Driver\PDOConnection”

2024-03-23

我正在做一个项目 我做了一个可导出的课程 这是班级

  • 我正在发送查询以导出类型“Illuminate\Database\Eloquent\Builder”
 <?php

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\WithMapping;
use Illuminate\Contracts\Queue\ShouldQueue;
use Maatwebsite\Excel\Concerns\WithHeadings;

class ExcelExport implements FromQuery, WithMapping, WithHeadings
{
   use Exportable;

   private $query;

   public function __construct($query)
   {
       $this->query = $query;
   }

   public function query()
   {
       return $this->query;
   }

   public function headings():array
   {
       $return = [
           'H1',
           'H2',
       ];

       return $return;
   }

   public function map($row):array
   {
       $return = [];
       foreach ($row->relation as $rel) {
           $return[] = $rel->column;
       }
       return $return;
   }
}

并将其调用到我的控制器中

public function export(Request $request, string $type = 'excel')
    {
        // returns Builder
        $query = $this->service->findByReportable($request, 1);
        
        $file = new ExcelExportLead($query);


        if ($file){
            switch (strtolower($type)) {
                case 'pdf':
                    $file_name = 'export-' . time() . '.pdf';
                    // OriginExcel refers to 'Maatwebsite\Excel\Excel'
                    return $file::queue($file, $file_name, OriginExcel::DOMPDF);
                    break;
                
                default:
                    $file_name = 'export-' . time() . '.xls';
                    return $file->queue($file_name);
                    break;
            }
            
        } else{
            return back()->withErrors(__('common.Sorry But there Was an issue in exporting Data please try again'));
        }

但出现的错误是“不允许序列化‘Doctrine\DBAL\Driver\PDOConnection’”

我不知道如何解决它我用过SerializesModels但这并没有解决问题


序列化是一种工具,您可以将变量/对象编码为文本(或二进制)表示形式,然后将该变量移动到另一个线程/进程。

根本问题是 Builder 对象具有 PDOConnection 属性(与数据库的连接),并且根据定义,这些对象无法序列化,因为它们通常是操作系统中的文件描述符,无法移动到另一个进程/线。

解决方案应该遵循以下任一路线

  • 使用 builder->toSql() 方法将查询作为字符串发送到 ExcelExport
  • 以其他方式对查询进行编码(IE anourvalar/eloquent-serializehttps://packagist.org/packages/anourvalar/eloquent-serialize https://packagist.org/packages/anourvalar/eloquent-serialize).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不允许序列化“Doctrine\DBAL\Driver\PDOConnection” 的相关文章

  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • 如何用php检测浏览器是否是firefox? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有php代码可以检测浏览器的版本和操作系统 https stackoverflow com questions 2142030 any php code to detect the browser
  • 如何在 Laravel 中基于 application/json 标头加载路由

    我正在使用application json标头来控制我的控制器在收到请求时的行为 我需要在单元测试中的 POST 中包含application json header 我试过了 public function testStore this
  • Laravel 转义 Blade 模板中的所有 HTML

    我正在 Laravel 中构建一个小型 CMS 并尝试显示内容 存储在数据库中 它显示 HTML 标签而不是执行它们 就像所有打印数据都有一个自动 html entity decode 一样
  • PHP将数据写入文件中间而不重写文件的最佳方法是什么

    我正在 php 1GB 中处理大型文本文件 我正在使用 file get contents file txt NULL NULL 100000000 100 要从文件中间获取数据 但如果我想将文件中的数据更改为与原始数据不同的更改 我将不得
  • Ioncube 编码的文件是否可以解码?

    我是一名 php 开发人员 我的客户计划分发一个使用 Php 开发的软件 计划使用 ioncube 或类似软件对文件进行编码 在谷歌搜索时 我发现很少有人解码这些文件 这些文件使用 ioncube 甚至其他软件进行编码 如果您询问是否可以破
  • PHP:如何检查 Guzzle 4 中的超时异常?

    如果请求期间发生错误 Guzzle 会引发异常 不幸的是 似乎没有特定于超时的错误 这对我来说很重要 因为我知道这些错误偶尔会发生 我想重试相应的请求 并且需要能够判断错误是否是由于超时而发生的 来自docs http docs guzzl
  • Google 应用程序引擎 - 上传的文件在谷歌云存储上不公开

    我有一个允许用户上传图像的应用程序 并且我希望其他用户能够看到该图像 我使用 CloudStorageTools createUploadUrl 方法允许用户通过 POST 上传 然后 我将上传的文件并使用 move uploaded fi
  • php 中的 stackoverflow 上有这样的成就系统吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 从概念上讲 如何使用 PHP 和 MySQL 为网站编写一个成就系统 唯一真正的方法是不断执行 MySQL 查询来测试成绩等吗 您有两
  • Laravel 5.3 Eloquent 事务和外键限制

    我正在从事一个更大的项目 我们在一个 Postgres 数据库中有多个模式 我们在模式之间创建了外键 这是一个例子 gt 我们有公司模式和用户模式 公司模式有company users表 该表对user users表有外键限制 CREATE
  • 将错误保存到 MySQL 数据库

    我有一个 php 查询来更新 MySQL 数据库 请参见下文 sql update hr payroll set payroll number payroll number tax code tax bacs ref bacs ref pa
  • Laravel:类控制器不存在

    我创建了一个简单的控制器并定义了一个函数 但是当我运行它时 它返回一个错误 指出控制器不存在 在我的 web php 中分配一条路线
  • MYSQL:SQL查询获取自增字段的值

    我有一张桌子 主键是id及其自动递增 现在 当我插入新记录时 我需要获取更新记录的 id 我怎样才能做到这一点 如果我使用查询 select max id from table name 执行后我可以获得id 但我能确定它是刚刚插入的记录的
  • 如何解决“无法加载PEM客户端证书,OpenSSL错误:02001003:系统库:fopen:没有这样的进程”错误?

    如果这个问题很愚蠢 请原谅 但我是这个领域的新手 我需要通过 SSL 从 Drupal 7 站点连接到服务 我有一个扩展名为 p12 的文件及其密码 另外 我使用 PHP 7 1 1 和 Windows 7 64x 我使用以下命令将 p12
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • 如何从 PHP 中的字符串创建可能的字符串组合?

    如何从 PHP 中的字符串创建可能的字符串组合 Exp input abc output array 0 gt a 1 gt ab 2 gt abc 3 gt ac 4 gt acb 5 gt b 6 gt ba 7 gt bac 8 gt
  • 我的设置未保存在 WordPress 主题选项页面中

    我正在尝试创建一个基于 WordPress 设置 API 的主题选项页面 当我在浏览器中检查 options php 页面时 例如http mysite com wordpress wp admin options php http mys
  • PHP strtotime() 未返回正确的月份

    由于当前月份 年份是 2012 年 1 月 为什么以下代码返回 2011 年 12 月而不是 2011 年 11 月 echo date F Y strtotime 2 months 如果有影响的话 这是在 PHP 5 3 0 上 要获得您
  • 从远程托管上的 PHP 获取 PHP 错误日志

    是否有 PHP 函数或其他方式以字符串形式获取 PHP 错误日志 我需要这个 因为我无法访问在其他人的服务器上运行的站点的错误日志 他提出通过电子邮件将错误日志发送给我 但这不太方便 有什么方法可以将错误日志输出到 PHP 页面吗 我意识到

随机推荐

  • 在Python中反序列化Protobuf 3字节数组

    如何通过 bytearray 响应读取 Protobuf 消息作为字符串 我尝试查找 Protobuf 库 https developers google com protocol buffers docs reference python
  • 使用 LIMIT 关键字的 SQL Server 查询中的语法错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试运行此查询 但收到错误 关键字 limit 附近的语法错误 SQL查询 select from messages as
  • 更新 SQL“关系”表的有效方法

    假设我有三个正确标准化的表 一种人 一种资格 以及一种将人映射到资格的方法 People id Name 1 Alice 2 Bob Degrees id Name 1 PhD 2 MA 人与学位 person id degree id 1
  • 使用 cfsqltype 是一个好的做法吗?

    编写 cfqueryparam 或 cfprocparam 时 cfsqltype 是可选的 不过 我通常会看到它的编码 指定 cfsqltype 有什么好处吗 主要好处是在将查询输入传递到查询之前对查询输入进行额外的健全性检查 另外 对于
  • 如何在powershell中修改GOPATH

    我正在尝试将我的项目目录添加到 GOPATH 在 linux 中我可以这样做 export GOPATH HOME mygo在 bashrc中 powershell中的等价物是什么 这应该遵循使用 Powershell 设置任何环境变量的方
  • TypeError: 无法连接 'str' 和 'list' 对象是什么意思?

    这个错误是什么意思 类型错误 无法连接 str 和 list 对象 这是代码的一部分 for j in 90 52 62263 26 5651 10 8123 if j 90 z 0 elif j 52 62263 z 0 72 144 2
  • RecyclerView 在 ConstraintLayout 内时更改其滚动位置

    我遇到了一个问题RecyclerView当它是 a 的孩子时ConstraintLayout 本来 RecyclerView位于视图层次结构深处的某个地方Relative Frame and LinearLeayout一切都运行良好 直到我
  • 无法从另一个 Maven 子项目调用 Hibernate/QueryDSL

    我有两个 Maven 子项目 jetty runner1 和 jetty runner2 我的目录结构如下所示 jetty runner1 pom xml jetty runner1 src main java com jetty runn
  • 尝试在现有的flutter应用程序中实现flutter_contacts示例

    我正在尝试实现这里的 flutter contacts 示例 颤动接触 https github com pavelshackih flutter contacts blob master android app src main kotl
  • 如何在 django DRF 中处理时区而不重复太多?

    Intro 我的项 目TIME ZONE等于 UTC 而我的用户来自太多时区 所以 当我用户 makePOST or PUT with date or time or dateTime字段我将这些字段转换为UTC before serial
  • 将 FirestoreCollection 转换为数组?

    我在将 Firestore 数据转换为 Chart js 图表的数组时遇到困难 从 Firestore 获取数据 fetchData Get data this updatesCollection this afs collection p
  • 如何为多个 #id 创建 ::before

    是否可以在前面插入多个id I have ps4 before ps3 before 我尝试过 ps4 ps3 before但什么也没有 是否可以在之前插入更多 id 我想保持CSS尽可能干净和简短 我尝试查看 css trick 但找不到
  • 采用 OpenGL 中的 Wu 算法的数字微分分析仪

    我正在尝试制作一种使用 DDA 数字差分分析器 绘制线条的算法 该算法也使用 Wu 的算法作为抗锯齿 问题是输出看起来不太好 尤其 我选择的颜色 它改变了 我知道为什么 但我想知道它是否必须是这样的 像素颜色越亮则越亮 我怎样才能选择我想要
  • 从数据框中仅提取数字列[重复]

    这个问题在这里已经有答案了 我在互联网上查找 但没有找到简单而干净的解决方案 这是我的 df 的一部分 structure list ID structure c 12L 12L 12L 12L 12L 12L 12L 12L 12L 12
  • 缺少 1 个必需的位置参数:“key”

    class Keys def init self self key list 1 one 2 two 3 three def get name self key self ddd key key1 Keys key1 get name 1
  • React Native 导航显示白屏

    使用反应本机导航进行编译时出现白屏 请问为什么会这样 我似乎没有收到任何错误代码 什么也没有 我只看到一个白屏 为什么会这样呢 我的代码看起来像这样 表明到目前为止我似乎没有任何错误 Here is what the Error seems
  • 断言代码无法编译

    简而言之 如何编写一个测试 检查我的类不可复制或可复制分配 而只能移动和移动分配 一般来说 如何编写测试 确保特定代码does not编译 像这样 Movable but non copyable class struct A A cons
  • 如何在 @ElementCollection 上指定主键

    因此 如果某些表缺少主键 innodb 的行为可能会导致问题 因此 在 Hibernate 中 我正在寻找一个键来指定 ElementCollection 表上的主键 并将 Set 作为底层数据结构 我找到了一种带有地图的主键的方法 但这有
  • PHP,preg_replace,用标签属性替换标签

    我可以详细解释一下如何使用 php 替换具有当前 attr 的标记吗 我阅读了手册和一些参考资料 如何使用php preg replace替换HTML标签 https stackoverflow com questions 3376051
  • 不允许序列化“Doctrine\DBAL\Driver\PDOConnection”

    我正在做一个项目 我做了一个可导出的课程 这是班级 我正在发送查询以导出类型 Illuminate Database Eloquent Builder