From 7f5d2b413c5148ccf5e734b45362ed62114bd516 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Tue, 16 Sep 2025 20:44:16 +0100 Subject: [PATCH] update other places --- packages/forms/src/Components/CheckboxList.php | 8 +++++++- packages/forms/src/Components/Select.php | 8 ++++---- packages/tables/src/Columns/SelectColumn.php | 16 ++++++++++++++-- packages/tables/src/Filters/SelectFilter.php | 16 ++++++++++++++-- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/packages/forms/src/Components/CheckboxList.php b/packages/forms/src/Components/CheckboxList.php index 5dd9494bd5..ecc9521b33 100644 --- a/packages/forms/src/Components/CheckboxList.php +++ b/packages/forms/src/Components/CheckboxList.php @@ -149,7 +149,13 @@ class CheckboxList extends Field implements Contracts\CanDisableOptions, Contrac $relationshipTitleAttribute = $component->getRelationshipTitleAttribute(); if (empty($relationshipQuery->getQuery()->orders)) { - $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipTitleAttribute)); + $relationshipOrderByAttribute = $relationshipTitleAttribute; + + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); + } + + $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); } if (str_contains($relationshipTitleAttribute, '->')) { diff --git a/packages/forms/src/Components/Select.php b/packages/forms/src/Components/Select.php index 5afac390b8..db27b7c4fc 100644 --- a/packages/forms/src/Components/Select.php +++ b/packages/forms/src/Components/Select.php @@ -799,8 +799,8 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has if (empty($relationshipQuery->getQuery()->orders)) { $relationshipOrderByAttribute = $relationshipTitleAttribute; - if (str_contains($relationshipTitleAttribute, ' as ')) { - $relationshipOrderByAttribute = substr($relationshipTitleAttribute, 0, strpos($relationshipTitleAttribute, ' as ')); + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); } $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); @@ -863,8 +863,8 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has if (empty($relationshipQuery->getQuery()->orders)) { $relationshipOrderByAttribute = $relationshipTitleAttribute; - if (str_contains($relationshipTitleAttribute, ' as ')) { - $relationshipOrderByAttribute = substr($relationshipTitleAttribute, 0, strpos($relationshipTitleAttribute, ' as ')); + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); } $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); diff --git a/packages/tables/src/Columns/SelectColumn.php b/packages/tables/src/Columns/SelectColumn.php index 94d960c837..9874b7eabf 100644 --- a/packages/tables/src/Columns/SelectColumn.php +++ b/packages/tables/src/Columns/SelectColumn.php @@ -592,7 +592,13 @@ class SelectColumn extends Column implements Editable, HasEmbeddedView $relationshipTitleAttribute = $column->getOptionsRelationshipTitleAttribute(); if (empty($relationshipQuery->getQuery()->orders)) { - $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipTitleAttribute)); + $relationshipOrderByAttribute = $relationshipTitleAttribute; + + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); + } + + $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); } if (str_contains($relationshipTitleAttribute, '->')) { @@ -646,7 +652,13 @@ class SelectColumn extends Column implements Editable, HasEmbeddedView $relationshipTitleAttribute = $column->getOptionsRelationshipTitleAttribute(); if (empty($relationshipQuery->getQuery()->orders)) { - $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipTitleAttribute)); + $relationshipOrderByAttribute = $relationshipTitleAttribute; + + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); + } + + $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); } if (str_contains($relationshipTitleAttribute, '->')) { diff --git a/packages/tables/src/Filters/SelectFilter.php b/packages/tables/src/Filters/SelectFilter.php index 142d72b736..81fefcc1df 100644 --- a/packages/tables/src/Filters/SelectFilter.php +++ b/packages/tables/src/Filters/SelectFilter.php @@ -367,7 +367,13 @@ class SelectFilter extends BaseFilter $relationshipTitleAttribute = $component->getRelationshipTitleAttribute(); if (empty($relationshipQuery->getQuery()->orders)) { - $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipTitleAttribute)); + $relationshipOrderByAttribute = $relationshipTitleAttribute; + + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); + } + + $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); } if (str_contains($relationshipTitleAttribute, '->')) { @@ -427,7 +433,13 @@ class SelectFilter extends BaseFilter $relationshipTitleAttribute = $component->getRelationshipTitleAttribute(); if (empty($relationshipQuery->getQuery()->orders)) { - $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipTitleAttribute)); + $relationshipOrderByAttribute = $relationshipTitleAttribute; + + if (str_contains($relationshipOrderByAttribute, ' as ')) { + $relationshipOrderByAttribute = (string) str($relationshipOrderByAttribute)->before(' as '); + } + + $relationshipQuery->orderBy($relationshipQuery->qualifyColumn($relationshipOrderByAttribute)); } if (str_contains($relationshipTitleAttribute, '->')) {