From 111f3520f3afda934898ffc8b0b77a1915636778 Mon Sep 17 00:00:00 2001 From: Ahmet Kaba Date: Fri, 17 Feb 2023 00:42:53 +0300 Subject: [PATCH 1/2] [10.x] Added missing expression support for pluck --- src/Illuminate/Database/Query/Builder.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 3cc3cf027535..0e016a4c13e6 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -2917,7 +2917,7 @@ protected function enforceOrderBy() /** * Get a collection instance containing the values of a given column. * - * @param string $column + * @param string|ExpressionContract $column * @param string|null $key * @return \Illuminate\Support\Collection */ @@ -2963,9 +2963,13 @@ protected function stripTableForPluck($column) return $column; } - $separator = str_contains(strtolower($column), ' as ') ? ' as ' : '\.'; + $columnString = ($column instanceof ExpressionContract) + ? $this->grammar->getValue($column) + : $column; + + $separator = str_contains(strtolower($columnString), ' as ') ? ' as ' : '\.'; - return last(preg_split('~'.$separator.'~i', $column)); + return last(preg_split('~'.$separator.'~i', $columnString)); } /** From bfafbe89e2ef61b528a1a49ab12b60d3e0e53415 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Thu, 16 Feb 2023 15:59:27 -0600 Subject: [PATCH 2/2] formatting --- src/Illuminate/Database/Query/Builder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 0e016a4c13e6..5e616e56201e 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -2917,7 +2917,7 @@ protected function enforceOrderBy() /** * Get a collection instance containing the values of a given column. * - * @param string|ExpressionContract $column + * @param \Illuminate\Contracts\Database\Query\Expression|string $column * @param string|null $key * @return \Illuminate\Support\Collection */ @@ -2963,7 +2963,7 @@ protected function stripTableForPluck($column) return $column; } - $columnString = ($column instanceof ExpressionContract) + $columnString = $column instanceof ExpressionContract ? $this->grammar->getValue($column) : $column;