insertのことで、データの更新(update)とデータの挿入(insert)の両方の機能を併せ持っています。upsertは、対象のレコードがあればそのレコードを更新し、レコードがなければレコードの新規追加をするという場合に便利な機能なのです。上記で説明した通り、対象のレコードがあれば更新して、なければ新規追加を行いときにupsertが使用できます。データを追加する時には、新規追加画面などがなく、編集画面からデータの新規追加も更新も併せて行う場合などです。upsertを使わない処理では、まずselect文で対象のデータがあるかを探す対象データが見つかった場合は、updateをして情報を更新する対象データが見つからなかった場合は、insertで新しくレコードを追加するこのように、1で対象のデータを探した後に、if文を使って2、3の処理を分岐させていくことになります。面倒だし、場合によっては結構長くなりそうですね。このような時にupsertを使うとスッキリと書くことができます!Laravelでupsertをしてみよう!Laravelでupsertを使用するにはEloquentで、updateOrCreateを使用する方法クエリビルダで、updateOrInsertを使用する方法の方法があります。APIドキュメントに記載のある使い方です。以下のように、ユーザIDが1001のユーザを検索し、見つかった場合は、名前を’Takeru’へ、歳を33にupdateします。ユーザが見つからない場合は、名前を’Takeru’へ、歳を33のユーザが新規に作成されます。33]);ちなみに、$attributesや$valuesを複数指定したい場合も連想配列へ追加するだけです。こちらは、検索値が複数の場合の例です。ユーザIDが1001かつメールアドレスがtest@test.comユーザを検索し、見つかった場合は、名前を’Takeru’へ、歳を33にupdateします。ユーザが見つからない場合は、名前を’Takeru’へ、歳を33のユーザが新規に作成されます。33]);ソースを見てみよう!こちらはLaravelのソースコードです。}fillについてはこの記事が詳しく解説されていました。APIドキュメントに記載のある使い方です。APIlaravel.com使用例こちらは、Eloquentで示した例と同様に、ユーザIDが1001かつメールアドレスがtest@test.comユーザを検索し、見つかった場合は、名前を’Takeru’へ、歳を33にupdateします。ユーザが見つからない場合は、名前を’Takeru’へ、歳を33のユーザが新規に作成されます。);ソースを見てみよう!こちらがLaravelのクエリビルダのソースコードです。}まとめいかがでしたでしょうか?Laravelでupsertする方法は理解できましたか?システム開発では、度々upsertが使えるような場面に出会うと思います。エラーをHTML出力の一部として画面に出力するかどうかを定義します。display_errorsを指定することで、PHPで発生したエラーを画面に出力できます。本記事ではタイトルにもある通り、Laravelの知識ゼロから基本をマスターしていくチュートリアルになります。PHPでテキストエリアから文章を受け取って、それを改行してメール送信するみたいな処理を書いていた時に、全然改行されなくてとても困りましたので、備忘録です。WindowsのPHPインストール手順は、既にわかりやすい手順がありますので活用してきます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ホームPHPLaravel検索kouフリーランスのプログラマーです。・フリーランスエンジニアインフラ構築からシステム開発まで、ご相談を受け付けています。PHP/Laravel、Vue.js/Nuxt.js、React/Next、クリーンアーキテクチャ、マイクロサービスなどの業務経験があります。その他、Python/Django、Java/SpringBoot、JavaScript、WordPressなどの経験もあります。お仕事のご依頼は、メニューのお問い合わせからお願いします。検索kouフリーランスのプログラマーです。・フリーランスエンジニアインフラ構築からシステム開発まで、ご相談を受け付けています。PHP/Laravel、Vue.js/Nuxt.js、React/Next、クリーンアーキテクチャ、マイクロサービスなどの業務経験があります。その他、Python/Django、Java/SpringBoot、JavaScript、WordPressなどの経験もあります。お仕事のご依頼は、メニューのお問い合わせからお願いします。APIHerokuHomebrewHTMLJavaJavaScriptjQueryLaravelLinuxMacMezzanineMySQLNodeNuxtPC紹介PHPPostgreSQLPythonReactRedisSalesforcescaffoldSeleniumShellslackSQLiteTerraformTypeScriptUbuntuVirtualBoxVue.jsVultrWordPressXcode。