Goのormのgormを使ってテーブルから全件取得をしようとしているのですがうまくいきません。
package db type TestDB interface { GetAllUsers() []interface{} } type testdb struct { data *gorm.DB } func Connect() *testdb{ db, err := gorm.Open("mysql", "path") defer db.Close() d := &testdb{ data: db, } if err != nil { panic(err.Error()) } return d } func (d *testdb) GetAllUsers() []model.Users{ u := []model.User{} d.data.Find(&u) return u }
package main func main() { db := db.Connect() c := db.GetAllUsers() fmt.Println(c) }
コードは上記になります。
mainでdbのインスタンスをつくり、全件取得するメソッドを呼んで取得しようとしているのですが、空になってしまいます。
Connect()メソッド内でFind()を使って同様に取得すれば正しい値が取得できます。
mainでgormのHasTableを使って該当のテーブルがあるかチェックするとfalseが返ってくるので、
使い方がおかしいのかコネクションが切れてるのか原因がよくわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/12 12:33