Gorm 执行 SELECT * FROM tablename 但它也执行

http://img3.mukewang.com/62d510150001dde707540182.jpg

我正在尝试在 Go 中制作一个简单的博客 API。


这是我的结构


type Blog struct {

    Id     int    `gorm:"primary key" json:"id"`

    Author string `gorm:"type:varchar(100);not null" json:"author"`

    Title  string `gorm:"type:varchar(1000);not null" json:"title"`

    Body   string `gorm:"size:1000;not null" json:"body"`

}

除 get all 方法外,所有其他 create get 方法均有效



func (b *Blog) GetAll(db *gorm.DB) (*[]Blog, error){

    var blogs  []Blog

    records := db.Find(&blogs)

    if records.Error != nil{

        return &[]Blog{}, records.Error

    }

    return &blogs, nil

}

此方法执行此查询,如调试输出中所示


SELECT * FROM "blogs" WHERE "blogs"."id" = 0 ORDER BY "blogs"."id" LIMIT 1


这显然不会返回任何东西


我曾尝试在文档上查找,但文档建议我只这样做......并且stackoverflow上没有人遇到过这个问题


Smart猫小萌
浏览 223回答 1
1回答

一只萌萌小番薯

好的,所以我发现出了什么问题 这些是我的路线,因为路线 /blog/{id} 是首先定义的使用 id = 0 并且什么都不给我所以要解决这个问题,我只需要改变我的路线像这样 : 我希望有人能从我的愚蠢错误中吸取教训:>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go