mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Merge pull request #17830 from f-liva/4.x
fix: handle 'as' alias in orderBy correctly in Select component
This commit is contained in:
@@ -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, '->')) {
|
||||
|
||||
@@ -797,7 +797,13 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has
|
||||
$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, '->')) {
|
||||
@@ -855,7 +861,13 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has
|
||||
$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, '->')) {
|
||||
|
||||
@@ -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, '->')) {
|
||||
|
||||
@@ -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, '->')) {
|
||||
|
||||
Reference in New Issue
Block a user