Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for Polymorphic (0.15 sec)

  1. schema/relationship.go

    //	  OwnerType string
    //	}
    func (schema *Schema) buildPolymorphicRelation(relation *Relationship, field *Field) {
    	polymorphic := field.TagSettings["POLYMORPHIC"]
    
    	relation.Polymorphic = &Polymorphic{
    		Value: schema.Table,
    	}
    
    	var (
    		typeName = polymorphic + "Type"
    		typeId   = polymorphic + "ID"
    	)
    
    	if value, ok := field.TagSettings["POLYMORPHICTYPE"]; ok {
    		typeName = strings.TrimSpace(value)
    	}
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Wed Jun 12 03:46:59 UTC 2024
    - 22.7K bytes
    - Viewed (0)
  2. schema/relationship_test.go

    						Schema:      "User",
    						FieldSchema: "Toy",
    						Polymorphic: Polymorphic{ID: "OwnerID", Type: "OwnerType", Value: "users"},
    						References: []Reference{
    							{ForeignKey: "OwnerType", ForeignSchema: "Toy", PrimaryValue: "users"},
    						},
    					},
    				},
    			},
    		})
    	})
    
    	t.Run("has one with custom polymorphic type and id", func(t *testing.T) {
    		type Toy struct {
    			ID    int
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Mon Apr 15 03:20:20 UTC 2024
    - 25.5K bytes
    - Viewed (0)
  3. schema/schema_helper_test.go

    			}
    
    			if r.Polymorphic != nil {
    				if r.Polymorphic.PolymorphicID.Name != relation.Polymorphic.ID {
    					t.Errorf("schema %v relation's polymorphic id field expects %v, but got %v", s, relation.Polymorphic.ID, r.Polymorphic.PolymorphicID.Name)
    				}
    
    				if r.Polymorphic.PolymorphicType.Name != relation.Polymorphic.Type {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Fri Dec 15 08:31:23 UTC 2023
    - 7.5K bytes
    - Viewed (0)
  4. tests/update_has_one_test.go

    	} else {
    		user.Account.UpdatedAt = user4.Account.UpdatedAt
    		CheckUser(t, user4, user)
    	}
    
    	t.Run("Polymorphic", func(t *testing.T) {
    		pet := Pet{Name: "create"}
    
    		if err := DB.Create(&pet).Error; err != nil {
    			t.Fatalf("errors happened when create: %v", err)
    		}
    
    		pet.Toy = Toy{Name: "Update-HasOneAssociation-Polymorphic"}
    
    		if err := DB.Save(&pet).Error; err != nil {
    			t.Fatalf("errors happened when create: %v", err)
    		}
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Jul 14 06:55:54 UTC 2022
    - 3.6K bytes
    - Viewed (0)
  5. utils/tests/models.go

    )
    
    // User has one `Account` (has one), many `Pets` (has many) and `Toys` (has many - polymorphic)
    // He works in a Company (belongs to), he has a Manager (belongs to - single-table), and also managed a Team (has many - single-table)
    // He speaks many languages (many to many) and has many friends (many to many - single-table)
    // His pet also has one Toy (has one - polymorphic)
    // NamedPet is a reference to a named `Pet` (has one)
    type User struct {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Fri Dec 15 08:36:08 UTC 2023
    - 2.1K bytes
    - Viewed (0)
  6. schema/schema_test.go

    			References: []Reference{{"ID", "User", "UserID", "Pet", "", true}},
    		},
    		{
    			Name: "Toys", Type: schema.HasMany, Schema: "User", FieldSchema: "Toy",
    			Polymorphic: Polymorphic{ID: "OwnerID", Type: "OwnerType", Value: "users"},
    			References:  []Reference{{"ID", "User", "OwnerID", "Toy", "", true}, {"", "", "OwnerType", "Toy", "users", false}},
    		},
    		{
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Jun 20 12:19:31 UTC 2024
    - 13.3K bytes
    - Viewed (0)
  7. tests/update_has_many_test.go

    		t.Fatalf("errors happened when update: %v", err)
    	}
    
    	var user4 User
    	DB.Preload("Pets").Find(&user4, "id = ?", user.ID)
    	CheckUser(t, user4, user)
    
    	t.Run("Polymorphic", func(t *testing.T) {
    		user := *GetUser("update-has-many", Config{})
    
    		if err := DB.Create(&user).Error; err != nil {
    			t.Fatalf("errors happened when create: %v", err)
    		}
    
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Jan 06 07:02:53 UTC 2022
    - 2K bytes
    - Viewed (0)
  8. tests/associations_has_many_test.go

    	// Find
    	var toys []Toy
    	if DB.Model(&users).Association("Toys").Find(&toys); len(toys) != 6 {
    		t.Errorf("toys count should be %v, but got %v", 6, len(toys))
    	}
    
    	// Find Tools (polymorphic with custom type and id)
    	var tools []Tools
    	DB.Model(&users).Association("Tools").Find(&tools)
    
    	if len(tools) != 2 {
    		t.Errorf("tools count should be %v, but got %v", 2, len(tools))
    	}
    
    	// Append
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Wed Jun 12 10:49:45 UTC 2024
    - 16K bytes
    - Viewed (0)
  9. doc/go_spec.html

    <code>Add</code> and <code>Slice</code>.
    </li>
    </ul>
    
    <h4 id="Go_1.18">Go 1.18</h4>
    <p>
    The 1.18 release adds polymorphic functions and types ("generics") to the language.
    Specifically:
    </p>
    <ul>
    <li>
    The set of <a href="#Operators_and_punctuation">operators and punctuation</a> includes the new token <code>~</code>.
    </li>
    Registered: Tue Nov 05 11:13:11 UTC 2024
    - Last Modified: Wed Oct 02 00:58:01 UTC 2024
    - 282.5K bytes
    - Viewed (0)
Back to top