GORM では、FirstOrCreate メソッドと FirstOrInit メソッドの両方を使用してデータベース レコードを取得または作成できます。ただし、レコードが新しく作成されたのか更新されたのかを判断するのは不明確な場合があります。
Upsert-On-Conflict を使用した Upsert ソリューション
GORM 1.20.x 以降、強化されたさまざまなデータベースの競合処理機能を利用する Upsert 機能が導入されました。
このスニペット次のような SQL ステートメントに変換されます:
古い GORM のフォールバック ソリューションバージョン
1.9.x より前の GORM バージョンの場合、より効率的なアプローチは、まず更新を試み、一致するものが見つからない場合は新しいレコードを作成することです。
FirstOrInit と FirstOrCreate の区別
どちらのメソッドも目的は似ていますが、動作は異なります。
以上がGORM の Upsert 機能は FirstOrCreate や FirstOrInit と比較してどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。