Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 20 for relation (0.23 sec)

  1. schema/schema_helper_test.go

    func checkSchemaRelation(t *testing.T, s *schema.Schema, relation Relation) {
    	t.Run("CheckRelation/"+relation.Name, func(t *testing.T) {
    		if r, ok := s.Relationships.Relations[relation.Name]; ok {
    			if r.Name != relation.Name {
    				t.Errorf("schema %v relation name expects %v, but got %v", s, r.Name, relation.Name)
    			}
    
    			if r.Type != relation.Type {
    				t.Errorf("schema %v relation name expects %v, but got %v", s, r.Type, relation.Type)
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Fri Dec 15 08:31:23 GMT 2023
    - 7.5K bytes
    - Viewed (0)
  2. callbacks/query.go

    			for _, join := range db.Statement.Joins {
    				if db.Statement.Schema != nil {
    					var isRelations bool // is relations or raw sql
    					var relations []*schema.Relationship
    					relation, ok := db.Statement.Schema.Relationships.Relations[join.Name]
    					if ok {
    						isRelations = true
    						relations = append(relations, relation)
    					} else {
    						// handle nested join like "Manager.Company"
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Mon Jan 29 03:34:57 GMT 2024
    - 9.9K bytes
    - Viewed (0)
  3. callbacks/preload.go

    	}
    	names := make([]string, 0, len(embeddedRelations.Relations)+len(embeddedRelations.EmbeddedRelations))
    	for _, relation := range embeddedRelations.Relations {
    		// skip first struct name
    		names = append(names, strings.Join(relation.Field.EmbeddedBindNames[1:], "."))
    	}
    	for _, relations := range embeddedRelations.EmbeddedRelations {
    		names = append(names, embeddedValues(relations)...)
    	}
    	return names
    }
    
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Thu Apr 25 12:21:03 GMT 2024
    - 11.6K bytes
    - Viewed (0)
  4. callbacks/associations.go

    						if reflect.Indirect(obj).Kind() != reflect.Struct {
    							break
    						}
    						if _, zero := rel.Field.ValueOf(db.Statement.Context, obj); !zero { // check belongs to relation value
    							rv := rel.Field.ReflectValueOf(db.Statement.Context, obj) // relation reflect value
    							if !isPtr {
    								rv = rv.Addr()
    							}
    							objs = append(objs, obj)
    							elems = reflect.Append(elems, rv)
    
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Tue Apr 11 03:06:13 GMT 2023
    - 14.3K bytes
    - Viewed (0)
  5. schema/schema_test.go

    				},
    			}},
    			References: []Reference{{"ID", "User", "UserID", "user_friends", "", true}, {"ID", "User", "FriendID", "user_friends", "", false}},
    		},
    	}
    
    	for _, relation := range relations {
    		checkSchemaRelation(t, user, relation)
    	}
    }
    
    func TestParseSchemaWithAdvancedDataType(t *testing.T) {
    	user, err := schema.Parse(&AdvancedDataTypeUser{}, &sync.Map{}, schema.NamingStrategy{})
    	if err != nil {
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Fri Dec 15 08:31:23 GMT 2023
    - 12.9K bytes
    - Viewed (0)
  6. schema/relationship.go

    }
    
    func (schema *Schema) setRelation(relation *Relationship) {
    	// set non-embedded relation
    	if rel := schema.Relationships.Relations[relation.Name]; rel != nil {
    		if len(rel.Field.BindNames) > 1 {
    			schema.Relationships.Relations[relation.Name] = relation
    		}
    	} else {
    		schema.Relationships.Relations[relation.Name] = relation
    	}
    
    	// set embedded relation
    	if len(relation.Field.EmbeddedBindNames) <= 1 {
    		return
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Mon Apr 15 03:20:20 GMT 2024
    - 22.4K bytes
    - Viewed (0)
  7. schema/naming.go

    		return ns.TablePrefix + str
    	}
    
    	if ns.SingularTable {
    		return ns.TablePrefix + ns.toDBName(str)
    	}
    	return ns.TablePrefix + inflection.Plural(ns.toDBName(str))
    }
    
    // RelationshipFKName generate fk name for relation
    func (ns NamingStrategy) RelationshipFKName(rel Relationship) string {
    	return ns.formatName("fk", rel.Schema.Table, ns.toDBName(rel.Name))
    }
    
    // CheckerName generate checker name
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Mon Oct 30 09:15:49 GMT 2023
    - 5.2K bytes
    - Viewed (0)
  8. schema/relationship_test.go

    		"PostalAddress": {
    			Relations: map[string]Relation{
    				"Country": {
    					Name: "Country", Type: schema.BelongsTo, Schema: "Org", FieldSchema: "Country",
    					References: []Reference{
    						{PrimaryKey: "ID", PrimarySchema: "Country", ForeignKey: "CountryID", ForeignSchema: "Org"},
    					},
    				},
    			},
    		},
    		"VisitingAddress": {
    			Relations: map[string]Relation{
    				"Country": {
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Mon Apr 15 03:20:20 GMT 2024
    - 25.5K bytes
    - Viewed (0)
  9. gorm.go

    	err = stmt.Parse(joinTable)
    	if err != nil {
    		return err
    	}
    	joinSchema = stmt.Schema
    
    	relation, ok := modelSchema.Relationships.Relations[field]
    	isRelation := ok && relation.JoinTable != nil
    	if !isRelation {
    		return fmt.Errorf("failed to find relation: %s", field)
    	}
    
    	for _, ref := range relation.References {
    		f := joinSchema.LookUpField(ref.ForeignKey.DBName)
    		if f == nil {
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Sun Aug 20 11:46:56 GMT 2023
    - 11.6K bytes
    - Viewed (0)
  10. schema/utils.go

    	t := tag.Get("gorm")
    	if strings.Contains(t, value) {
    		return tag
    	}
    	return reflect.StructTag(fmt.Sprintf(`gorm:"%s;%s"`, value, t))
    }
    
    // GetRelationsValues get relations's values from a reflect value
    func GetRelationsValues(ctx context.Context, reflectValue reflect.Value, rels []*Relationship) (reflectResults reflect.Value) {
    	for _, rel := range rels {
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Sat Aug 19 13:35:14 GMT 2023
    - 5.5K bytes
    - Viewed (0)
Back to top