Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for Many2Many (0.06 sec)

  1. schema/relationship.go

    		return nil
    	}
    
    	if hasPolymorphicRelation(field.TagSettings) {
    		schema.buildPolymorphicRelation(relation, field)
    	} else if many2many := field.TagSettings["MANY2MANY"]; many2many != "" {
    		schema.buildMany2ManyRelation(relation, field, many2many)
    	} else if belongsTo := field.TagSettings["BELONGSTO"]; belongsTo != "" {
    		schema.guessRelation(relation, field, guessBelongs)
    	} else {
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Mon Aug 18 11:44:52 UTC 2025
    - 23.1K bytes
    - Viewed (1)
  2. schema/relationship_test.go

    		Name: "Profiles", Type: schema.Many2Many, Schema: "User", FieldSchema: "Profile",
    		JoinTable: JoinTable{Name: "user_profiles", Table: "user_profiles"},
    		References: []Reference{
    			{"Refer", "User", "UserReferID", "user_profiles", "", true},
    			{"UserRefer", "Profile", "ProfileRefer", "user_profiles", "", false},
    		},
    	}, Relation{
    		Name: "Profiles2", Type: schema.Many2Many, Schema: "User", FieldSchema: "Profile",
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Mon Aug 18 11:44:52 UTC 2025
    - 26.5K bytes
    - Viewed (0)
  3. callbacks/preload.go

    	fieldValues := make([]interface{}, len(relForeignFields))
    
    	// clean up old values before preloading
    	switch reflectValue.Kind() {
    	case reflect.Struct:
    		switch rel.Type {
    		case schema.HasMany, schema.Many2Many:
    			tx.AddError(rel.Field.Set(tx.Statement.Context, reflectValue, reflect.MakeSlice(rel.Field.IndirectFieldType, 0, 10).Interface()))
    		default:
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Sun May 25 07:40:40 UTC 2025
    - 11.7K bytes
    - Viewed (0)
  4. tests/multi_primary_keys_test.go

    		t.Fatalf("Should find 3 tags")
    	}
    
    	var blog1 Blog
    	DB.Preload("Tags").Find(&blog1)
    	if !compareTags(blog1.Tags, []string{"tag1", "tag2", "tag3"}) {
    		t.Fatalf("Preload many2many relations")
    	}
    
    	// Replace
    	tag5 := &Tag{Locale: "ZH", Value: "tag5"}
    	tag6 := &Tag{Locale: "ZH", Value: "tag6"}
    	DB.Model(&blog).Association("Tags").Replace(tag5, tag6)
    	var tags2 []Tag
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Mon Jul 21 02:46:58 UTC 2025
    - 13.1K bytes
    - Viewed (0)
  5. schema/schema_test.go

    		},
    		{
    			Name: "Team", Type: schema.HasMany, Schema: "User", FieldSchema: "User",
    			References: []Reference{{"ID", "User", "ManagerID", "User", "", true}},
    		},
    		{
    			Name: "Languages", Type: schema.Many2Many, Schema: "User", FieldSchema: "Language",
    			JoinTable: JoinTable{Name: "UserSpeak", Table: "user_speaks", Fields: []schema.Field{
    				{
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Thu Aug 28 02:57:17 UTC 2025
    - 13.3K bytes
    - Viewed (0)
  6. callbacks/associations.go

    					}
    
    					saveAssociations(db, rel, elems, selectColumns, restricted, assignmentColumns)
    				}
    			}
    
    			// Save Many2Many associations
    			for _, rel := range db.Statement.Schema.Relationships.Many2Many {
    				if v, ok := selectColumns[rel.Name]; (ok && !v) || (!ok && restricted) {
    					continue
    				}
    
    				fieldType := rel.Field.IndirectFieldType.Elem()
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Thu Feb 13 06:16:26 UTC 2025
    - 14.4K bytes
    - Viewed (0)
  7. callbacks/delete.go

    						withoutConditions = true
    						break
    					}
    				}
    
    				if !withoutConditions && db.AddError(tx.Clauses(clause.Where{Exprs: queryConds}).Delete(modelValue).Error) != nil {
    					return
    				}
    			case schema.Many2Many:
    				var (
    					queryConds     = make([]clause.Expression, 0, len(rel.References))
    					foreignFields  = make([]*schema.Field, 0, len(rel.References))
    					relForeignKeys = make([]string, 0, len(rel.References))
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Sun May 25 07:40:40 UTC 2025
    - 5.8K bytes
    - Viewed (0)
  8. generics.go

    				} else {
    					db.AddError(fmt.Errorf("relation %s not found", association))
    					return nil
    				}
    			}
    
    			if q.limitPerRecord > 0 {
    				if relation.JoinTable != nil {
    					tx.AddError(fmt.Errorf("many2many relation %s don't support LimitPerRecord", association))
    					return tx
    				}
    
    				refColumns := []clause.Column{}
    				for _, rel := range relation.References {
    					if rel.OwnPrimaryKey {
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Thu Sep 04 13:13:16 UTC 2025
    - 15.5K bytes
    - Viewed (0)
  9. migrator/migrator.go

    		return &uni, stmt.Table
    	}
    
    	getTable := func(rel *schema.Relationship) string {
    		switch rel.Type {
    		case schema.HasOne, schema.HasMany:
    			return rel.FieldSchema.Table
    		case schema.Many2Many:
    			return rel.JoinTable.Table
    		}
    		return stmt.Table
    	}
    
    	for _, rel := range stmt.Schema.Relationships.Relations {
    		if constraint := rel.ParseConstraint(); constraint != nil && constraint.Name == name {
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Fri Jun 06 02:35:01 UTC 2025
    - 29.5K bytes
    - Viewed (0)
  10. tests/migrate_test.go

    		{"accounts", "fk_users_account"},
    		{"users", "fk_users_team"},
    		{"users", "fk_users_company"},
    	} {
    		if !DB.Migrator().HasConstraint(indexes[0], indexes[1]) {
    			t.Fatalf("Failed to find index for many2many for %v %v", indexes[0], indexes[1])
    		}
    	}
    }
    
    func TestAutoMigrateInt8PGAndGaussDB(t *testing.T) {
    	if DB.Dialector.Name() != "postgres" && DB.Dialector.Name() != "gaussdb" {
    		return
    	}
    
    Registered: Sun Sep 07 09:35:13 UTC 2025
    - Last Modified: Wed Aug 20 04:51:17 UTC 2025
    - 65.2K bytes
    - Viewed (0)
Back to top