ホームページ  >  記事  >  バックエンド開発  >  GORM Find(&room) 操作により、実際のデータではなく空のデータが構造体に埋め込まれます

GORM Find(&room) 操作により、実際のデータではなく空のデータが構造体に埋め込まれます

王林
王林転載
2024-02-08 22:10:08901ブラウズ

GORM Find(&room) 操作用空数据而不是实际数据填充结构

php エディタの Xiaoxin は、GORM の Find(&room) 操作を使用するときに、実際のデータを使用する代わりに、構造を埋めるために空のデータが使用される場合があることを発見しました。これにより、プログラムでエラーや例外が発生する可能性があります。この問題を解決するには、GORM がどのように機能するか、またこの状況が起こらないように Find 操作を正しく使用して構造を埋める方法を理解する必要があります。この記事では、この問題の原因を詳しく説明し、GORM の検索操作を正しく使用するための解決策を提供します。

質問内容

GORMを使用してデータベースに接続しています。このアプリケーションには GoFiber を使用しています。エンドポイントは 2 つあり、すべてのルームを一覧表示する GET とルームを作成する POST です。 Gorm MySQL ドライバーを使用し、PlanetScale がホストするデータベースに接続しています。

私のモデル:-

リーリー

私の取得エンドポイント コード: -

リーリー

私のデータベース コード: - (planetscale でホストされています)

リーリー

コンソール出力: -

リーリー

データベース内のデータ:-

リーリー

API 出力: -

リーリー

更新:- 2024/01/20

Postgres データベースに切り替えると、この正確なコードが機能します。そこで、Postgres に切り替えて、このチケットを閉じました。

解決策

次のコードを使用して簡単なテストを実行しました:

リーリー

これが私が得たものです:

デバ4139f5302207be648f12c74de60e

以上がGORM Find(&room) 操作により、実際のデータではなく空のデータが構造体に埋め込まれますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。