亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取數據庫中的所有項目

獲取數據庫中的所有項目

Go
汪汪一只貓 2022-05-18 13:39:37
我正在嘗試使用它從我的數據庫中獲取一組項目,gorm它工作正常,我能夠檢索數據,但我只在數組中獲取一個項目,而還有更多。這是我檢索數組的代碼。模型.gotype Address struct {    ID        uuid.UUID  `json:"id" gorm:"primary_key;unique;not null"`    Line      string     `gorm:"size:255;not null;column:line" json:"line"`    Hostel    string     `gorm:"size:255;not null;column:hostel" json:"hostel"`    CreatedAt time.Time  `gorm:"default:CURRENT_TIMESTAMP;column:createdAt" json:"createdAt"`    UpdatedAt time.Time  `gorm:"default:CURRENT_TIMESTAMP;column:updatedAt" json:"updatedAt"`    DeletedAt *time.Time `sql:"index;column:deletedAt" json:"deletedAt"`}type Addresses []Address數據庫.gotype DbAddress struct {    *model.Address}func (address *DbAddress) Get(db *gorm.DB) ([]model.Address, *errors.Error) {    var err error    addr := []model.Address{}    err = db.Debug().Model(model.Address{}).Limit(100).Take(&addr).Error    if gorm.IsRecordNotFoundError(err) {        return nil, errors.NewNotFoundError(fmt.Sprintf("Address not found: %s", err.Error()))    }    if err != nil {        return nil, errors.NewBadRequestError(fmt.Sprintf("error when trying to get Address: %s", err.Error()))    }    return addr, nil}服務.gofunc GetAddress() (model.Addresses, *errors.Error) {    result := database.DbAddress{Address: &model.Address{}}    return result.Get(database.DB)}控制器.gofunc GetAddress(c *gin.Context) {    address, getErr := services.GetAddress()    if getErr != nil {        res.ResponseJSON(c, getErr.Status, nil, true, getErr.Message)        return    }    res.ResponseJSON(c, http.StatusFound, address, false, "successfully got address data")}
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

使用Find而不是Take.


// Get first record, order by primary key

db.First(&user)

//// SELECT * FROM users ORDER BY id LIMIT 1;


// Get one record, no specified order

db.Take(&user)

//// SELECT * FROM users LIMIT 1;


// Get last record, order by primary key

db.Last(&user)

//// SELECT * FROM users ORDER BY id DESC LIMIT 1;


// Get all records

db.Find(&users)

//// SELECT * FROM users;


// Get record with primary key (only works for integer primary key)

db.First(&user, 10)

//// SELECT * FROM users WHERE id = 10;

有關更多詳細信息,請參閱:https ://gorm.io/docs/query.html


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號