diff --git a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php index ffb808d056..334da5bf9e 100644 --- a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php +++ b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php @@ -66,6 +66,7 @@ class PrepareCsvExport implements ShouldQueue /** @var Connection $databaseConnection */ $databaseConnection = $query->getConnection(); + $databaseGrammar = $query->getGrammar(); if ($databaseConnection->getDriverName() === 'pgsql') { $originalOrders = collect($query->getQuery()->orders) @@ -76,11 +77,15 @@ class PrepareCsvExport implements ShouldQueue return ($order['column'] ?? null) === $qualifiedKeyName; }) - ->unique(function (array $order): string { + ->unique(function (array $order) use ($databaseGrammar): string { if (($order['type'] ?? null) === 'Raw') { return 'raw:' . ($order['sql'] ?? ''); } + if ($databaseGrammar->isExpression($order['column'] ?? null)) { + return 'expression:' . $order['column']->getValue($databaseGrammar); + } + return 'column:' . ($order['column'] ?? ''); });