File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
lib/rails-jquery-autocomplete/orm Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,10 @@ def active_record_get_autocomplete_items(parameters)
2929 limit ( limit ) . order ( order )
3030 items = items . where ( where ) unless where . blank?
3131
32+ if options [ :unique ]
33+ scopes << lambda { unscope ( :select ) . select ( "MIN(#{ table_name } .#{ model . primary_key } ) as #{ model . primary_key } , #{ table_name } .#{ method } " ) . group ( method ) }
34+ end
35+
3236 scopes . each do |scope |
3337 items = case scope
3438 when String
@@ -42,16 +46,17 @@ def active_record_get_autocomplete_items(parameters)
4246 end
4347
4448 def get_autocomplete_select_clause ( model , method , options )
45- if sqlite?
49+ base = if sqlite?
4650 table_name = model . quoted_table_name
47- ( [
48- "#{ table_name } .#{ model . connection . quote_column_name ( model . primary_key ) } as #{ model . primary_key } " ,
49- "#{ table_name } .#{ model . connection . quote_column_name ( method ) } as #{ method } "
50- ] + ( options [ :extra_data ] . blank? ? [ ] : options [ :extra_data ] ) )
51+ [
52+ "#{ table_name } .#{ model . connection . quote_column_name ( model . primary_key ) } as #{ model . primary_key } " ,
53+ "#{ table_name } .#{ model . connection . quote_column_name ( method ) } as #{ method } "
54+ ]
5155 else
5256 table_name = model . table_name
53- ( [ "#{ table_name } .#{ model . primary_key } " , "#{ table_name } .#{ method } " ] + ( options [ :extra_data ] . blank? ? [ ] : options [ :extra_data ] ) )
57+ [ "#{ table_name } .#{ model . primary_key } " , "#{ table_name } .#{ method } " ]
5458 end
59+ base + ( options [ :extra_data ] || [ ] )
5560 end
5661
5762 def get_autocomplete_where_clause ( model , term , method , options )
You can’t perform that action at this time.
0 commit comments