Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86a4ef798a |
@@ -8,12 +8,6 @@ import (
|
||||
|
||||
type Persons []Person
|
||||
|
||||
type Person struct {
|
||||
Id int `gorm:"primaryKey" json:"id"`
|
||||
FirstName string `gorm:"column:firstName" json:"firstName"`
|
||||
LastName string `gorm:"column:lastName" json:"lastName"`
|
||||
}
|
||||
|
||||
// --- Implement driver.Valuer (for saving to DB)
|
||||
func (r Persons) Value() (driver.Value, error) {
|
||||
return json.Marshal(r)
|
||||
@@ -27,3 +21,23 @@ func (r *Persons) Scan(value any) error {
|
||||
}
|
||||
return json.Unmarshal(bytes, r)
|
||||
}
|
||||
|
||||
type Person struct {
|
||||
Id int `gorm:"primaryKey" json:"id"`
|
||||
FirstName string `gorm:"column:firstName" json:"firstName"`
|
||||
LastName string `gorm:"column:lastName" json:"lastName"`
|
||||
}
|
||||
|
||||
// --- Implement driver.Valuer (for saving to DB)
|
||||
func (r Person) Value() (driver.Value, error) {
|
||||
return json.Marshal(r)
|
||||
}
|
||||
|
||||
// --- Implement sql.Scanner (for reading from DB)
|
||||
func (r *Person) Scan(value any) error {
|
||||
bytes, ok := value.([]byte)
|
||||
if !ok {
|
||||
return fmt.Errorf("failed to unmarshal Settings: %v", value)
|
||||
}
|
||||
return json.Unmarshal(bytes, r)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user