Skip to content

Commit ae4fad8

Browse files
authored
Added support for :primary_key in sorting on relationships
Fixes ActiveRecord::StatementInvalid (PG::UndefinedFunction: ERROR: operator does not exist: uuid = character varying when uuid and string ids are mixed
1 parent 17772ce commit ae4fad8

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/jsonapi/resource.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,8 @@ def _build_joins(associations)
735735
joins = []
736736

737737
associations.inject do |prev, current|
738-
joins << "LEFT JOIN #{current.table_name} AS #{current.name}_sorting ON #{current.name}_sorting.id = #{prev.table_name}.#{current.foreign_key}"
738+
relationship_primary_key = current.options.fetch(:primary_key, "id")
739+
joins << "LEFT JOIN #{current.table_name} AS #{current.name}_sorting ON #{current.name}_sorting.#{relationship_primary_key} = #{prev.table_name}.#{current.foreign_key}"
739740
current
740741
end
741742
joins.join("\n")

0 commit comments

Comments
 (0)