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 サイトの他の関連記事を参照してください。