ホームページ >バックエンド開発 >PHPチュートリアル >バングラ語の Laravel Eloquent ORM 部分削除モデル)
Laravel Eloquent ORM を使用してデータベースからレコードを削除するさまざまな方法を以下に詳しく説明します。 データを簡単かつ効率的に削除する方法を提供します。
1.単一レコードの削除:
delete()
を使用したメソッド:delete()
メソッドを使用して、データベースから特定のレコードを削除できます。
<code class="language-php">use App\Models\Post; // রেকর্ড খুঁজে বের করুন $post = Post::find(1); // রেকর্ড মুছে ফেলুন $post->delete();</code>
覚えておいてください: 削除後、レコードはデータベースになくなります。
2.複数のレコードの削除:
where
句で delete()
メソッドを使用する:複数のレコードを削除するには、where
句を指定した delete()
メソッドを使用します。
<code class="language-php">use App\Models\Post; // 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন Post::where('status', 'draft')->delete();</code>
3. destroy()
メソッドの使用:
destroy()
メソッドを使用して 1 つ以上のレコードを削除できます。
<code class="language-php">use App\Models\Post; // একক রেকর্ড মুছে ফেলুন Post::destroy(1); // একাধিক রেকর্ড মুছে ফেলুন Post::destroy([2, 3, 4]);</code>
覚えておいてください: destroy()
メソッドは、主キーを使用してレコードを直接削除します。
4.モデルイベントの使用:
モデル イベントは、Eloquent モデルが削除されるとトリガーされます。
deleting
deleted
<code class="language-php">class Post extends Model { protected static function booted() { static::deleting(function ($post) { // মুছে ফেলার আগে করণীয় কাজ Log::info('Post is being deleted: ' . $post->id); }); static::deleted(function ($post) { // মুছে ফেলার পর করণীয় কাজ Log::info('Post deleted: ' . $post->id); }); } }</code>
5.論理的な削除:
論理的な削除とは何ですか? 列にタイムスタンプを追加しても物理的に削除されません。deleted_at
特性は SoftDeletes
モデルに追加する必要があります。
<code class="language-php">use App\Models\Post; // রেকর্ড খুঁজে বের করুন $post = Post::find(1); // রেকর্ড মুছে ফেলুন $post->delete();</code>
<code class="language-php">use App\Models\Post; // 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন Post::where('status', 'draft')->delete();</code>
<code class="language-php">use App\Models\Post; // একক রেকর্ড মুছে ফেলুন Post::destroy(1); // একাধিক রেকর্ড মুছে ফেলুন Post::destroy([2, 3, 4]);</code>
<code class="language-php">class Post extends Model { protected static function booted() { static::deleting(function ($post) { // মুছে ফেলার আগে করণীয় কাজ Log::info('Post is being deleted: ' . $post->id); }); static::deleted(function ($post) { // মুছে ফেলার পর করণীয় কাজ Log::info('Post deleted: ' . $post->id); }); } }</code>
withTrashed()
: 論理的に削除されたレコードと削除されていないレコードの両方を返します。onlyTrashed()
: 論理的に削除されたレコードのみを復元します。6.データベースからの直接削除:
Laravel の DB
ファサードを使用して、SQL クエリでレコードを直接削除できます。
<code class="language-php">use Illuminate\Database\Eloquent\SoftDeletes; class Post extends Model { use SoftDeletes; protected $dates = ['deleted_at']; }</code>
以上がバングラ語の Laravel Eloquent ORM 部分削除モデル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。