![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/maatwebsite/excel/src/Mixins/ |
<?php namespace Maatwebsite\Excel\Mixins; use Illuminate\Database\Eloquent\Builder; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromQuery; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Sheet; class StoreQueryMacro { public function __invoke() { return function (string $filePath, string $disk = null, string $writerType = null, $withHeadings = false) { $export = new class($this, $withHeadings) implements FromQuery, WithHeadings { use Exportable; /** * @var bool */ private $withHeadings; /** * @var Builder */ private $query; /** * @param $query * @param bool $withHeadings */ public function __construct($query, bool $withHeadings = false) { $this->query = $query; $this->withHeadings = $withHeadings; } /** * @return Builder */ public function query() { return $this->query; } /** * @return array */ public function headings(): array { if (!$this->withHeadings) { return []; } $firstRow = (clone $this->query)->first(); if ($firstRow) { return array_keys(Sheet::mapArraybleRow($firstRow)); } return []; } }; return $export->store($filePath, $disk, $writerType); }; } }