Laravel Eloquent でレコードを条件付きで挿入または更新する方法

Susan Sarandon
リリース: 2024-10-20 08:45:30
オリジナル
500 人が閲覧しました

How to Conditionally Insert or Update Records with Laravel Eloquent?

Laravel Eloquent を使用したレコードの作成または更新

Laravel の Eloquent ORM は、新しいレコードを挿入したり、既存のレコードを更新したりするための便利な方法を提供します。この方法は、レコードがデータベースに既に存在するかどうかに基づいて条件付きでレコードを挿入または更新する必要がある場合に特に便利です。

このタスクへの 1 つのアプローチには、2 つの別々のクエリを使用してレコードの存在を確認することが含まれます。次に、それを挿入または更新します。ただし、Laravel は、firstOrNew メソッドを使用した、より簡潔で効率的なソリューションを提供します。

firstOrNew メソッドは、入力として属性の配列を受け取ります。これらの属性に一致するレコードがデータベースにすでに存在する場合は、そのレコードが取得されて返されます。それ以外の場合、モデルの新しいインスタンスが作成されます。

説明のために、次の例を考えてみましょう。

<code class="php">$user = User::firstOrNew(array('name' => Input::get('name')));</code>
ログイン後にコピー

指定された名前のユーザーが既に存在する場合、$user 変数は既存のレコードを参照します。それ以外の場合は、User モデルの新しいインスタンスが作成されます。

レコードへの参照を取得したら、必要に応じてその属性を更新できます。例:

<code class="php">$user->foo = Input::get('foo');</code>
ログイン後にコピー

最後に、save メソッドを使用して変更をデータベースに保存できます。

<code class="php">$user->save();</code>
ログイン後にコピー

このアプローチは、レコードを挿入または更新するクリーンで簡単な方法を提供します。ララベル。これにより、複数のクエリの必要性がなくなり、レコードが常に最新であることが保証されます。

以上がLaravel Eloquent でレコードを条件付きで挿入または更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート