| 125 | | ids = quoted_record_ids(records) |
|---|
| 126 | | @association_class.update_all( |
|---|
| 127 | | "#{@association_class_primary_key_name} = NULL", |
|---|
| 128 | | "#{@association_class_primary_key_name} = #{@owner.quoted_id} AND #{@association_class.primary_key} IN (#{ids})" |
|---|
| 129 | | ) |
|---|
| 130 | | end |
|---|
| 131 | | end |
|---|
| | 125 | ids = quoted_record_ids(records) |
|---|
| | 126 | conditions = "#{@association_class_primary_key_name} " |
|---|
| | 127 | if @owner.quoted_id == "NULL" |
|---|
| | 128 | conditions << "IS NULL" |
|---|
| | 129 | else |
|---|
| | 130 | conditions << "= #{@owner.quoted_id}" |
|---|
| | 131 | end |
|---|
| | 132 | conditions << " AND (" |
|---|
| | 133 | null_ids = ids[1] |
|---|
| | 134 | if (null_ids) |
|---|
| | 135 | conditions << "#{@association_class.primary_key} IS NULL" |
|---|
| | 136 | if ids[0].length > 0 |
|---|
| | 137 | conditions << " OR " |
|---|
| | 138 | end |
|---|
| | 139 | end |
|---|
| | 140 | if ids[0].length > 0 |
|---|
| | 141 | conditions << "#{@association_class.primary_key} IN (#{ids[0]})" |
|---|
| | 142 | end |
|---|
| | 143 | conditions << ")" |
|---|
| | 144 | @association_class.update_all("#{@association_class_primary_key_name} IS NULL", conditions) |
|---|
| | 145 | end |
|---|
| | 146 | end |
|---|
| 141 | | @finder_sql = "#{@association_class.table_name}.#{@association_class_primary_key_name} = #{@owner.quoted_id}" |
|---|
| 142 | | @finder_sql << " AND #{interpolate_sql(@conditions)}" if @conditions |
|---|
| | 156 | @finder_sql = "#{@association_class_primary_key_name} = #{@owner.quoted_id}" |
|---|
| | 157 | @finder_sql = "#{@association_class.table_name}.#{@association_class_primary_key_name}" |
|---|
| | 158 | if @owner.quoted_id == "NULL" |
|---|
| | 159 | @finder_sql << " IS NULL" |
|---|
| | 160 | else |
|---|
| | 161 | @finder_sql << " = #{@owner.quoted_id}" |
|---|
| | 162 | end |
|---|
| | 163 | @finder_sql << " AND #{interpolate_sql(@conditions)}" if @conditions |
|---|