|
|
| 30 |
31 |
|
| 49 | 49 | end |
| 50 | 50 | options.delete(:additional) |
| 51 | 51 | conditions = self.build_sql_conditional_for(options) |
| 52 | | conditions << (conditions ? " AND " : "") << options[:additional].join(" #{operator || "AND"} ") if additionals |
| 52 | conditions << (conditions ? " AND " : "") << options[:additional].join(" #{@operator || "AND"} ") if additionals |
| 53 | 53 | self.find(:all, :conditions => conditions, :limit => limit, :order => order) |
| 54 | 54 | end |
| 55 | 55 | |
| 56 | 56 | private |
| 57 | 57 | def self.build_sql_conditional_for(options={}) |
| 58 | 58 | conditions = [] |
| 59 | | operator = options.delete(:operator) |
| 59 | @operator = options.delete(:operator) |
| 60 | 60 | options.each do |key, value| |
| 61 | 61 | conditions << self.send(:sanitize_sql, ["#{key.to_s}_id IN (?)", value]) |
| 62 | 62 | end |