問題タブ [go-gorm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
13124 参照

mysql - int のスライスで「where in」を使用する方法

http://jinzhu.me/gorm/advanced.html#sql-builderから、単一の WHERE IN を使用して複数の行を更新(?)し、スライスを単一に渡す?ことができるはずWHERE IN (?,?,?,?)です。

次のように jinzhu.me からの例: db.Exec("UPDATE orders SET shipped_at=? WHERE id IN (?)", time.Now, []int64{11,22,33}). これは、それが機能していることを示す gorm のテストの例です。https://github.com/jinzhu/gorm/blob/021d7b33143de37b743d1cf660974e9c8d3f80ea/main_test.go#L449

しかし、これは私にとってはうまくいきません:

出力:

ハードコーディングしようとすると、同じ問題が発生します。

出力:

解決:

コードは実際にはまったくバグがありません。私はばかげていましたか - 実際のコードに必要以上の余分なパラメーターがありました。スタックオーバーフローのために正しく翻訳しませんでした。私の悪い。

0 投票する
1 に答える
1430 参照

go - gorm db インターフェイスを適切に定義するには?

タイプを使用するメソッドを単体テストしようとして*gorm.DBいますが、データベースにアクセスせずにテストできるようにするインターフェイスを適切に定義する方法に興味があります。

ここに私がやりたいことの小さな例があります:

結果は次のとおりです。

どんな助けでも大歓迎です!


アップデート

これが私の実際のアプリケーションコードです:

結果は次のとおりです。

0 投票する
2 に答える
5145 参照

go - GORM pq 接続が多すぎます

私は自分のプロジェクトで GORM を使用しています。次のようなエラーが発生するまではすべて問題ありません。

私はデフォルト設定をそのまま使用しています。アプリケーションで多くのテスト リクエストを行った後、エラーが発生しました。

アプリケーションを再起動すると、エラーはなくなりました。そのため、クエリが完了した後、GORM 接続が解放されていないと考えています。私はGORMコードで十分に深くチェックしていません。誰かがすでにそれについて経験しているかもしれません。

0 投票する
1 に答える
15480 参照

go - GORM `gorm:"-"` でフィールドを無視しない

Jinzhu の GORM Package を使用して素晴らしいところで、私は現在この構造体を持っています:

しかし、私はGorillaのパッケージも使用しているので、フォームの値はすべて構造体に入力されますが、通常のフィールドがbcryptされるためプレーンテキストになるため、データベースに保存しSchemaたくありません。保存しない方法に関する情報フィールド。PasswordCPasswordGORMPasswordC

0 投票する
0 に答える
3104 参照

go - Golang GORM スキャンしてマップする

私はGORMアプリケーションでクエリを実行していますが、現在、データベースから行をスキャンするために構造体を使用しています。しかし、問題は、クエリごとに別の構造体を作成する必要がある、互いに異なるクエリを実行する必要がある場合に発生します。

実際、データベースから取得したデータは気にせず、クライアントに転送しただけです。そのため、それぞれの構造体を作成するのは大変な作業です。それで、それをスキャンして map[string]interface{} または []map[string]interface{} にできればと考えています。では、GORMでそれを行うことは可能ですか?

また、列がインターフェースに変換されたときの別のことも考えています。{}日付はどうですか? 文字列に変換されますか?(および int、long、array などの他の型の場合も)

0 投票する
1 に答える
472 参照

sqlite - Go GORMで外部キーの外部キーを表示する

このケースでこれを部​​分的に解決できました

残念ながら、Preload() 関数は、関連するオブジェクト セットをさらに深く掘り下げることでは機能しないようです。

明確にするために、次のモデルがあります。

新しい Room、Game、および Player オブジェクトを作成して新しいオブジェクトを作成すると、次のデータが返されます (json エンコード)。

しかし、preload() 関数を使用して構造を照会しようとすると、次の結果が得られます。

Players セクションが null になっていることに注意してください。部屋の登録と部屋のクエリ機能は次のとおりです。

0 投票する
1 に答える
1146 参照

go - Golang GORM といくつかのテーブルの関連付け

構造体:

I 挿入幅:

しかし、私が呼び出すと、代わりにgormConn.Find(&groups)取得します[{id: 1, name: "Grrr", users: null}][{id: 1, name: "Grrr", users: [{id:1, name: "Usr"}]}]

また、SQL テーブルのgroupsusersが見つかりません。(すべての構造体はgormConn.AutoMigrate)

0 投票する
1 に答える
1355 参照

go - データベース接続を切り替えて、Golang でモデルに共有するにはどうすればよいですか? (レベル + ゴーム)

Revel + Gorm (または Golang の他の ORM) でhttps://github.com/thiagopradi/octopusのようなデータベース シャーディングをセットアップしたいと考えています。

セキュリティ フィルター(revel の param フィルターの後に追加されたカスタム フィルター) でdb 接続文字列を取得します。ここで、 dbフィルターと呼ばれる次のカスタム フィルターで db 接続を切り替える必要があります。

また、revel アプリケーションの起動時に db 接続プールを実装する必要があります。