for idx, foreignKey := range foreignKeys {
                                    if foreignField := getForeignField(foreignKey, toFields); foreignField != nil {
                                        if scopeField := getForeignField(associationForeignKeys[idx], allFields); scopeField != nil {
                                            // mark field as foreignkey, use global lock to avoid race
                                            structsLock.Lock()