public function getCSVFromResult(ResultInterface $query, string $delim = ',', string $newline = "\n", string $enclosure = '"')
	{
		$out = '';
		// First generate the headings from the table column names
		foreach ($query->getFieldNames() as $name)
		{
			$out .= $enclosure . str_replace($enclosure, $enclosure . $enclosure, $name) . $enclosure . $delim;
		}

		$out = substr($out, 0, -strlen($delim)) . $newline;

		// Next blast through the result array and build out the rows
		while ($row = $query->getUnbufferedRow('array'))
		{
			$line = [];
			foreach ($row as $item)
			{
				$line[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $item) . $enclosure;
			}
			$out .= implode($delim, $line) . $newline;
		}

		return $out;
	}
public function getCSVFromResult(ResultInterface $query, string $delim = ',', string $newline = "\n", string $enclosure = '"')
	{
		$out = '';
		// First generate the headings from the table column names
		foreach ($query->getFieldNames() as $name)
		{
			$out .= $enclosure . str_replace($enclosure, $enclosure . $enclosure, $name) . $enclosure . $delim;
		}

		$out = substr($out, 0, -strlen($delim)) . $newline;

		// Next blast through the result array and build out the rows
		while ($row = $query->getUnbufferedRow('array'))
		{
			$line = [];
			foreach ($row as $item)
			{
				$line[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $item) . $enclosure;
			}
			$out .= implode($delim, $line) . $newline;
		}

		return $out;
	}
public function getCSVFromResult ( ResultInterface $ query , string $ delim = ',' , string $ newline = "\n" , string $ enclosure = '"' ) { $ out = '' ; // First generate the headings from the table column names foreach ( $ query -> getFieldNames ( ) as $ name ) { $ out .= $ enclosure . str_replace ( $ enclosure , $ enclosure . $ enclosure , $ name ) . $ enclosure . $ delim ; } $ out = substr ( $ out , 0 , - strlen ( $ delim ) ) . $ newline ; // Next blast through the result array and build out the rows while ( $ row = $ query -> getUnbufferedRow ( 'array' ) ) { $ line = [ ] ; foreach ( $ row as $ item ) { $ line [ ] = $ enclosure . str_replace ( $ enclosure , $ enclosure . $ enclosure , $ item ) . $ enclosure ; } $ out .= implode ( $ delim , $ line ) . $ newline ; } return $ out ; }
Generate CSV from a query result object

@param ResultInterface $query     Query result object
@param string          $delim     Delimiter (default: ,)
@param string          $newline   Newline character (default: \n)
@param string          $enclosure Enclosure (default: ")

@return string
Generate CSV from a query result object