original_string: 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);
                  }
              }
          );
      }
code: 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);
                  }
              }
          );
      }
code_tokens: 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 ) ; } } ) ; }
docstring: Writes CSV content to given file handle resource.
  
  @param resource $resource
docstring_tokens: Writes CSV content to given file handle resource .