core: fix ambiguous column error when searching or sorting#983
Open
nurikk wants to merge 1 commit intoaminalaee:mainfrom
Open
core: fix ambiguous column error when searching or sorting#983nurikk wants to merge 1 commit intoaminalaee:mainfrom
nurikk wants to merge 1 commit intoaminalaee:mainfrom
Conversation
…e fields from same relationship Fixes SQLite 'ambiguous column name' error that occurred when users configured column_searchable_list or column_sortable_list with multiple fields from the same related model (e.g., ['user.id', 'user.name']). The issue happened because: - Each field was independently joining the same table multiple times - sort_query runs before search_query, so duplicate joins could occur across methods - SQLite cannot resolve ambiguous column references with duplicate table joins Solution: - Added _get_joined_entities() to inspect existing joins in the SQL statement - Added _join_relationship_paths() as DRY helper to track and prevent duplicate joins - Refactored both search_query and sort_query to use the helper - Joins are now tracked both by relationship path (within method) and by inspecting the statement (cross-method), ensuring no duplicates Users can now safely use multiple fields from the same relationship in searchable and sortable columns without encountering database errors.
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix ambiguous column error when searching or sorting by multiple fields from same relationship
Fixes SQLite 'ambiguous column name' error that occurred when users configured column_searchable_list or column_sortable_list with multiple fields from the same related model (e.g., ['user.id', 'user.name']).
The issue happened because:
Solution:
Users can now safely use multiple fields from the same relationship in searchable and sortable columns without encountering database errors.