diff --git a/finisher_api.go b/finisher_api.go index 3d09e899..3c0df360 100644 --- a/finisher_api.go +++ b/finisher_api.go @@ -228,7 +228,7 @@ func (db *DB) FindInBatches(dest interface{}, batchSize int, fc func(tx *DB, bat // Optimize for-break resultsValue := reflect.Indirect(reflect.ValueOf(dest)) - if result.Statement.Schema.PrioritizedPrimaryField == nil { + if result.Statement.Schema.PrioritizedPrimaryField == nil && result.Statement.Schema.PrimaryFields != nil && len(result.Statement.Schema.PrimaryFields) == 1 { tx.AddError(ErrPrimaryKeyRequired) break }