##1. モデルを削除します
#1.1 delete を使用してモデルを削除します##モデルの削除は非常に簡単です。まず、削除するモデル インスタンスを取得し、次に delete メソッドを呼び出します:
$post = Post::find(5); if($post->delete()){ echo '删除文章成功!'; }else{ echo '删除文章失败!'; }メソッドは true または false を返します。
1.2 destroy を使用してモデルを削除する
もちろん、削除するモデル ID がわかっている場合は、より簡単なメソッド destroy を使用して直接削除できます。
$deleted = Post::destroy(5);複数のモデル ID を一度に渡すことで、複数のモデルを削除することもできます。
$deleted = Post::destroy([1,2,3,4,5]);destroy メソッドを呼び出して、削除されたレコードの数を返します。
1.3 クエリ ビルダーを使用してモデルを削除する
Eloquent モデル自体がクエリ ビルダーであることは前述したように、クエリ ビルダーを削除することもできます。クエリ ビルダー スタイルを使用したモデル。たとえば、ビューが 0 の記事をすべて削除したい場合は、次のメソッドを使用できます。
$deleted = Models\Post::where('views', 0)->delete();戻り結果は、削除された記事の数です。 2. ソフト削除の実装
上記の削除メソッドは、データベースからデータ テーブル レコードを削除します。さらに、Eloquent モデルもソフト削除をサポートします。
いわゆるソフト削除とは、データ テーブルのレコードが実際にはデータベースから削除されないことを意味しますが、テーブル レコードの識別ステータスはソフト削除としてマークされ、クエリ時にフィルタリングできるようになります。対応するテーブルのレコードが「削除」されたようです。 Laravel は識別ステータスとして日付フィールドを使用します。この日付フィールドはカスタマイズできます。ここでは、deleted_at を使用します。対応するモデルが論理的に削除されている場合、deleted_at フィールドの値は削除時刻です。それ以外の場合、値は空です。Eloquent モデルでソフト削除をサポートするには、いくつかの設定を行う必要があります。まず、モデル クラスで SoftDeletestrait を使用します。このトレイトは、ソフト削除に関連する一連のメソッドを提供します。詳細については、ソース コード Illuminate\Database\Eloquent\SoftDeletes を参照してください。さらに、$date 属性配列とその中にdeleted_atを入れます:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Post extends Model { use SoftDeletes; //设置表名 public $table = 'posts'; //设置主键 public $primaryKey = 'id'; //设置日期时间格式 public $dateFormat = 'U'; protected $guarded = ['id','views','user_id','updated_at','created_at']; protected $dates = ['delete_at']; }
次に、対応するデータベースポストにdeleted_at列を追加します。これを実装するには移行を使用します。最初にArtisanコマンドを実行します:
php artisan make:migration alter_posts_deleted_at --table=posts次に、生成されたPHP ファイルを次のように記述します:
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class AlterPostsDeletedAt extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('posts', function (Blueprint $table) { $table->softDeletes(); }); } ...//其它方法 }次に、実行します:
php artisan migrateしたがって、投稿には [deleted_at] 列が存在します。次に、コントローラーにテスト コードを記述します。
$post = Post::find(6); $post->delete(); if($post->trashed()){ echo '软删除成功!'; dd($post); }else{ echo '软删除失败!'; }クエリ結果に論理的に削除されたレコードを含めたい場合はどうすればよいでしょうか? SoftDeletes トレイトで withTrashed メソッドを使用できます:
$posts = Post::withTrashed()->get(); dd($posts);場合によっては、論理的に削除されたモデルのみを表示したい場合があります。SoftDeletes のonlyTrashed メソッドを使用するトリックもあります:
$posts = Post::onlyTrashed()->get(); dd($posts);論理的削除による回復
論理的に削除されたモデルを復元する必要がある場合があります。SoftDeletes が提供する復元方法を使用できます:
単一のモデルを復元しますモデル
$post = Post::find(6); $post->restore();に問題があります。ID 6 のモデルは論理的に削除されました。Post::find(6) はデータを見つけることができません。 should
$post = Post::withTrashed()->find(6); $post->restore();
複数のモデルを復元します
Post::withTrashed()->where('id','>',1)->restore();すべてのモデルを復元します
Post::withTrashed()->restore();関連するクエリ モデルを復元します
$post = Post::find(6); $post->history()->restore();強制削除
##モデルが論理的な削除で構成されているが、そのモデルに対応するデータベース テーブル レコードを実際に削除したい場合は、 SoftDeletes が提供する ForceDelete メソッドを使用できます。$post = Post::find(6);
$post->forceDelete();
PHP 中国語 Web サイト、無料の
が多数あり、オンラインで学習することを歓迎します。
この記事は、https://blog.csdn.net/weixin_38112233/article/details/78574007 から転載されました。
以上が1つの記事でlaravelモデルの削除とソフト削除について学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

LaravelはWebアプリケーションを迅速に構築するのに適していますが、Pythonはより広い範囲のアプリケーションシナリオに適しています。 1.Laravelは、Web開発を簡素化するために、Eloquentorm、Bladeテンプレートエンジン、職人ツールを提供します。 2。Pythonは、その動的なタイプ、リッチ標準ライブラリ、サードパーティのエコシステムで知られており、Web開発、データサイエンス、その他の分野に適しています。

LaravelとPythonにはそれぞれ独自の利点があります。Laravelは、機能が豊富なWebアプリケーションを迅速に構築するのに適しており、Pythonはデータサイエンスと一般的なプログラミングの分野でうまく機能します。 1.Laravelは、最新のWebアプリケーションの構築に適したEloquentormおよびBladeテンプレートエンジンを提供します。 2。Pythonには豊富な標準的な図書館とサードパーティライブラリがあり、DjangoとFlaskのフレームワークはさまざまな開発ニーズを満たしています。

Laravelは、コード構造を明確にし、開発プロセスをより芸術的にすることができるため、選択する価値があります。 1)LaravelはPHPに基づいており、MVCアーキテクチャに従い、Web開発を簡素化します。 2)Eloquentorm、Artisan Tools、Bladeテンプレートなどのコア機能は、開発の優雅さと堅牢性を高めます。 3)ルーティング、コントローラー、モデル、ビューを通じて、開発者はアプリケーションを効率的に構築できます。 4)キューやイベントモニタリングなどの高度な機能により、アプリケーションのパフォーマンスがさらに向上します。

Laravelは、バックエンドフレームワークであるだけでなく、完全なWeb開発ソリューションでもあります。ルーティング、データベース操作、ユーザー認証などの強力なバックエンド機能を提供し、フロントエンド開発をサポートし、Webアプリケーション全体の開発効率を向上させます。

LaravelはWeb開発に適しており、Pythonはデータサイエンスと迅速なプロトタイピングに適しています。 1.LaravelはPHPに基づいており、Eloquentormなどのエレガントな構文とリッチ機能を提供します。 2。Pythonは、そのシンプルさで知られており、Web開発とデータサイエンスで広く使用されており、豊富なライブラリエコシステムがあります。

laravelcanbeefeectiveivefectively-worldapplications for buildingscalablewebsolutions.1)その概要を説明することで、lastulavel'secosystem(toolslikenovaを含むlaravel'secosystem)を拡張します

バックエンド開発におけるLaravelのコア機能には、ルーティングシステム、Eloquentorm、移行機能、キャッシュシステム、キューシステムが含まれます。 1.ルーティングシステムは、URLマッピングを簡素化し、コードの組織とメンテナンスを改善します。 2.Eloquentormは、開発効率を改善するためにオブジェクト指向のデータ操作を提供します。 3.移行関数は、バージョン制御を介してデータベース構造を管理して、一貫性を確保します。 4.キャッシュシステムは、データベースクエリを削減し、応答速度を向上させます。 5.キューシステムは、大規模なデータを効果的に処理し、ユーザー要求のブロックを避け、全体的なパフォーマンスを改善します。

Laravelは、バックエンド開発で強く機能し、Eloquentorm、コントローラー、サービスクラスを介してデータベース操作を簡素化し、ビジネスロジックを処理し、キュー、イベント、その他の機能を提供します。 1)Eloquentormは、モデルを介してデータベーステーブルをマップしてクエリを簡素化します。 2)ビジネスロジックは、モジュール性と保守性を向上させるために、コントローラーとサービスクラスで処理されます。 3)キューシステムなどのその他の機能は、複雑なニーズの処理に役立ちます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール
