ホームページ  >  記事  >  PHPフレームワーク  >  Laravelでデータを削除および変更する方法

Laravelでデータを削除および変更する方法

PHPz
PHPzオリジナル
2023-03-31 13:52:231260ブラウズ

Laravel は非常に優れた PHP フレームワークであり、豊富な機能とデータの削除や変更などよく使用される操作の便利さから多くの開発者に愛用されています。 Laravelでデータを削除・変更する方法を簡単に紹介します。

1. データの削除

1.1 単一のデータを削除する

Laravel で単一のデータを削除するには、まず削除するデータ オブジェクトを取得する必要があります。 Eloquent を通じて削除し、その delete() メソッドを呼び出すだけで済みます。例:

$user = User::find(1);
$user->delete();

上記のコードは、ID 1 のユーザー レコードを削除します。なお、削除対象のデータが存在しない場合には例外はスローされず、直接返されます。

1.2 データのバッチ削除

一度に大量のデータを削除する必要がある場合があります。delete() の循環呼び出しによって引き起こされるパフォーマンスの問題を回避するために、Laravel はwhere メソッドと delete メソッドを組み合わせてバッチ削除を実現します。例:

User::where('age', '<&#39;, 18)->delete();

上記のコードは、18 歳未満のすべてのユーザー レコードを削除します。

1.3 ソフト削除

実際のアプリケーションでは、データの削除は必ずしも物理的な削除である必要はなく、論理的な削除である場合もあります。 Laravel は、データをデータベースから直接削除するのではなく、削除時にデータを削除済みとしてマークする論理的な削除機能を提供します。最初にデータ モデルで $dates 属性を定義する必要があります:

protected $dates = ['deleted_at'];

次に、論理的な削除を使用します。モデルに SoftDeletes インターフェイスを実装し、delete() メソッドを呼び出すだけです:

use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}

$user = User::find(1);
$user->delete();

The上記のコード ID 1 の User レコードの delete_at フィールドは、データベースから直接削除されるのではなく、現在の時刻に設定されます。 withTrashed() メソッドを使用して論理的に削除されたデータをクエリしたり、forceDelete() メソッドを使用して論理的に削除されたデータを完全に削除したりできます。

2. データの変更

2.1 単一のデータを変更する

Laravel では、単一のデータを変更することは、新しいデータを追加することと非常によく似ています。まず、Eloquent を通じて変更するデータ オブジェクトを取得し、次にその属性値を変更し、最後に save() メソッドを呼び出す必要があります。例:

$user = User::find(1);
$user->name = '小明';
$user->age = 20;
$user->save();

上記のコードは、ID 1 のユーザー レコードの名前フィールドを「Xiao Ming」に、年齢フィールドを 20 に設定します。

2.2 一括でデータを変更する

Laravel では、複数のデータの指定された属性値を同時に変更する update メソッドが提供されています。例:

User::where('age', '<&#39;, 18)->update(['age' => 20]);

上記のコードは、18 歳未満のすべてのユーザー レコードの年齢フィールドを 20 に設定します。

  1. まとめ

データの削除と変更はLaravel開発における最も基本的な操作の1つであり、上記ではLaravelにおける削除と変更操作に関する機能と使い方を簡単に紹介しました。 . .これらの操作は、非常に便利で実用的な Eloquent ORM に基づいて開発されています。

以上がLaravelでデータを削除および変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。