protected function writeCsvContent($resource)
    {
        $columns    = $this->exportInfo->columns;
        $strategies = $this->getColumnStrategyInstances();

        $delimiter = $this->getDelimiterSymbol();
        $enclosure = $this->getEnclosureSymbol();
        $escape    = $this->getEscapeSymbol();


        // Generate header row, if not disabled
        if ($this->shouldHaveHeaderRow()) {

            $headers = array_map(
                function (ModelExportColumnDataInterface $column) {
                    return $column->header();
                },
                $columns
            );

            fputcsv($resource, $headers, $delimiter, $enclosure, $escape);
        }

        // For each query chunk: get a model instance,
        // and for each column, generate the column content using the strategies
        $this->query->chunk(
            static::CHUNK_SIZE,
            function ($records) use ($resource, $columns, $strategies, $delimiter, $enclosure, $escape) {
                /** @var Collection|Model[] $records */

                foreach ($records as $record) {

                    $fields = [];

                    foreach ($strategies as $key => $strategy) {
                        $fields[] = $strategy->render($record, $columns[$key]->source);
                    }

                    fputcsv($resource, $fields, $delimiter, $enclosure, $escape);
                }
            }
        );
    }
protected function writeCsvContent($resource)
    {
        $columns    = $this->exportInfo->columns;
        $strategies = $this->getColumnStrategyInstances();

        $delimiter = $this->getDelimiterSymbol();
        $enclosure = $this->getEnclosureSymbol();
        $escape    = $this->getEscapeSymbol();


        // Generate header row, if not disabled
        if ($this->shouldHaveHeaderRow()) {

            $headers = array_map(
                function (ModelExportColumnDataInterface $column) {
                    return $column->header();
                },
                $columns
            );

            fputcsv($resource, $headers, $delimiter, $enclosure, $escape);
        }

        // For each query chunk: get a model instance,
        // and for each column, generate the column content using the strategies
        $this->query->chunk(
            static::CHUNK_SIZE,
            function ($records) use ($resource, $columns, $strategies, $delimiter, $enclosure, $escape) {
                /** @var Collection|Model[] $records */

                foreach ($records as $record) {

                    $fields = [];

                    foreach ($strategies as $key => $strategy) {
                        $fields[] = $strategy->render($record, $columns[$key]->source);
                    }

                    fputcsv($resource, $fields, $delimiter, $enclosure, $escape);
                }
            }
        );
    }
protected function writeCsvContent ( $ resource ) { $ columns = $ this -> exportInfo -> columns ; $ strategies = $ this -> getColumnStrategyInstances ( ) ; $ delimiter = $ this -> getDelimiterSymbol ( ) ; $ enclosure = $ this -> getEnclosureSymbol ( ) ; $ escape = $ this -> getEscapeSymbol ( ) ; // Generate header row, if not disabled if ( $ this -> shouldHaveHeaderRow ( ) ) { $ headers = array_map ( function ( ModelExportColumnDataInterface $ column ) { return $ column -> header ( ) ; } , $ columns ) ; fputcsv ( $ resource , $ headers , $ delimiter , $ enclosure , $ escape ) ; } // For each query chunk: get a model instance, // and for each column, generate the column content using the strategies $ this -> query -> chunk ( static :: CHUNK_SIZE , function ( $ records ) use ( $ resource , $ columns , $ strategies , $ delimiter , $ enclosure , $ escape ) { /** @var Collection|Model[] $records */ foreach ( $ records as $ record ) { $ fields = [ ] ; foreach ( $ strategies as $ key => $ strategy ) { $ fields [ ] = $ strategy -> render ( $ record , $ columns [ $ key ] -> source ) ; } fputcsv ( $ resource , $ fields , $ delimiter , $ enclosure , $ escape ) ; } } ) ; }
Writes CSV content to given file handle resource.

@param resource $resource
Writes CSV content to given file handle resource .