Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for BeforeSave (0.07 sec)

  1. schema/callbacks_test.go

    package schema_test
    
    import (
    	"reflect"
    	"sync"
    	"testing"
    
    	"gorm.io/gorm"
    	"gorm.io/gorm/schema"
    )
    
    type UserWithCallback struct{}
    
    func (UserWithCallback) BeforeSave(*gorm.DB) error {
    	return nil
    }
    
    func (UserWithCallback) AfterCreate(*gorm.DB) error {
    	return nil
    }
    
    func TestCallback(t *testing.T) {
    	user, err := schema.Parse(&UserWithCallback{}, &sync.Map{}, schema.NamingStrategy{})
    	if err != nil {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Jan 06 07:02:53 UTC 2022
    - 939 bytes
    - Viewed (0)
  2. callbacks/update.go

    	if db.Error == nil && db.Statement.Schema != nil && !db.Statement.SkipHooks && (db.Statement.Schema.BeforeSave || db.Statement.Schema.BeforeUpdate) {
    		callMethod(db, func(value interface{}, tx *gorm.DB) (called bool) {
    			if db.Statement.Schema.BeforeSave {
    				if i, ok := value.(BeforeSaveInterface); ok {
    					called = true
    					db.AddError(i.BeforeSave(tx))
    				}
    			}
    
    			if db.Statement.Schema.BeforeUpdate {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Mon Mar 18 05:44:55 UTC 2024
    - 9.4K bytes
    - Viewed (0)
  3. callbacks/interfaces.go

    }
    
    type BeforeUpdateInterface interface {
    	BeforeUpdate(*gorm.DB) error
    }
    
    type AfterUpdateInterface interface {
    	AfterUpdate(*gorm.DB) error
    }
    
    type BeforeSaveInterface interface {
    	BeforeSave(*gorm.DB) error
    }
    
    type AfterSaveInterface interface {
    	AfterSave(*gorm.DB) error
    }
    
    type BeforeDeleteInterface interface {
    	BeforeDelete(*gorm.DB) error
    }
    
    type AfterDeleteInterface interface {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Aug 27 07:03:57 UTC 2020
    - 667 bytes
    - Viewed (0)
  4. callbacks/create.go

    	if db.Error == nil && db.Statement.Schema != nil && !db.Statement.SkipHooks && (db.Statement.Schema.BeforeSave || db.Statement.Schema.BeforeCreate) {
    		callMethod(db, func(value interface{}, tx *gorm.DB) (called bool) {
    			if db.Statement.Schema.BeforeSave {
    				if i, ok := value.(BeforeSaveInterface); ok {
    					called = true
    					db.AddError(i.BeforeSave(tx))
    				}
    			}
    
    			if db.Statement.Schema.BeforeCreate {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Mon Apr 08 03:29:55 UTC 2024
    - 12.5K bytes
    - Viewed (0)
  5. schema/schema.go

    	callbackTypeBeforeUpdate callbackType = "BeforeUpdate"
    	callbackTypeAfterCreate  callbackType = "AfterCreate"
    	callbackTypeAfterUpdate  callbackType = "AfterUpdate"
    	callbackTypeBeforeSave   callbackType = "BeforeSave"
    	callbackTypeAfterSave    callbackType = "AfterSave"
    	callbackTypeBeforeDelete callbackType = "BeforeDelete"
    	callbackTypeAfterDelete  callbackType = "AfterDelete"
    	callbackTypeAfterFind    callbackType = "AfterFind"
    )
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Thu Jun 20 12:19:31 UTC 2024
    - 13.7K bytes
    - Viewed (0)
  6. tests/hooks_test.go

    func (s *Product) BeforeUpdate(tx *gorm.DB) (err error) {
    	if s.Code == "dont_update" {
    		err = errors.New("can't update")
    	}
    	s.BeforeUpdateCallTimes = s.BeforeUpdateCallTimes + 1
    	return
    }
    
    func (s *Product) BeforeSave(tx *gorm.DB) (err error) {
    	if s.Code == "dont_save" {
    		err = errors.New("can't save")
    	}
    	s.BeforeSaveCallTimes = s.BeforeSaveCallTimes + 1
    	return
    }
    
    func (s *Product) AfterFind(tx *gorm.DB) (err error) {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Mon Jun 17 03:59:06 UTC 2024
    - 16.7K bytes
    - Viewed (0)
  7. tests/update_test.go

    	ID    int
    	Name  string
    	Token Token `gorm:"foreignKey:UserID"`
    }
    
    func (t *TokenOwner) BeforeSave(tx *gorm.DB) error {
    	t.Name += "_name"
    	return nil
    }
    
    type Token struct {
    	UserID  int    `gorm:"primary_key"`
    	Content string `gorm:"type:varchar(100)"`
    }
    
    func (t *Token) BeforeSave(tx *gorm.DB) error {
    	t.Content += "_encrypted"
    	return nil
    }
    
    func TestSaveWithHooks(t *testing.T) {
    Registered: Sun Nov 03 09:35:10 UTC 2024
    - Last Modified: Mon Dec 04 03:50:58 UTC 2023
    - 30.3K bytes
    - Viewed (0)
Back to top