public function getCSVFromResult(ResultInterface
$query, string
$delim = ',', string
$newline = "\n", string
$enclosure = '"'
) { $out = '';
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;
}