Don't need NOT IN conditions when there are no primary keys found

This commit is contained in:
Jinzhu 2015-12-30 15:34:56 +08:00
parent 9a63fb28ba
commit 934e97b018
1 changed files with 4 additions and 2 deletions

View File

@ -156,8 +156,10 @@ func (association *Association) Replace(values ...interface{}) *Association {
}
newPrimaryKeys = association.getPrimaryKeys(associationForeignFieldNames, field.Interface())
sql := fmt.Sprintf("%v NOT IN (%v)", toQueryCondition(scope, relationship.AssociationForeignDBNames), toQueryMarks(newPrimaryKeys))
newDB = newDB.Where(sql, toQueryValues(newPrimaryKeys)...)
if len(newPrimaryKeys) > 0 {
sql := fmt.Sprintf("%v NOT IN (%v)", toQueryCondition(scope, relationship.AssociationForeignDBNames), toQueryMarks(newPrimaryKeys))
newDB = newDB.Where(sql, toQueryValues(newPrimaryKeys)...)
}
}
if relationship.Kind == "many_to_many" {