Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 69 for relation (0.27 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. scan.go

    						if rel, ok := sch.Relationships.Relations[names[0]]; ok {
    							subNameCount := len(names)
    							// nested relation fields
    							relFields := make([]*schema.Field, 0, subNameCount-1)
    							relFields = append(relFields, rel.Field)
    							for _, name := range names[1 : subNameCount-1] {
    								rel = rel.FieldSchema.Relationships.Relations[name]
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Fri Apr 26 09:53:11 GMT 2024
    - 9.8K bytes
    - Viewed (0)
  7. 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)
  8. 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)
  9. association.go

    				} else if ev.Type().Elem().AssignableTo(elemType) {
    					fieldValue = reflect.Append(fieldValue, ev.Elem())
    				} else {
    					association.Error = fmt.Errorf("unsupported data type: %v for relation %s", ev.Type(), association.Relationship.Name)
    				}
    
    				if elemType.Kind() == reflect.Struct {
    					assignBacks = append(assignBacks, assignBack{Source: source, Dest: ev, Index: fieldValue.Len()})
    				}
    			}
    Go
    - Registered: Sun Apr 28 09:35:09 GMT 2024
    - Last Modified: Thu May 04 11:30:45 GMT 2023
    - 21.2K bytes
    - Viewed (0)
  10. 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)
Back to top