ホームページ >データベース >mysql チュートリアル >Laravel Eloquent ORM in Bangla Part-(モデルの比較)
モデルの比較 (モデルの比較) は Laravel Eloquent の重要な側面であり、さまざまなコンテキストで役立ちます。 たとえば、2 つのモデル インスタンス間の違いを見つけたり、モデルが変更されたかどうかを確認したりします。
Laravel はモデルを比較するためのいくつかの方法を提供します。 以下にいくつかの方法と例を示します:
1. is()
メソッドを使用したモデル比較:
is()
メソッドは 2 つのモデル インスタンスを比較します。これにより、2 つのモデルが同じレコードを指しているかどうかがチェックされます。
<code class="language-php">use App\Models\Post; $post1 = Post::find(1); $post2 = Post::find(1); $post3 = Post::find(2); // মডেল তুলনা if ($post1->is($post2)) { echo "পোস্ট ১ এবং পোস্ট ২ একই।"; } else { echo "পোস্ট ১ এবং পোস্ট ২ ভিন্ন।"; } // পোস্ট ১ এবং পোস্ট ৩ তুলনা if ($post1->is($post3)) { echo "পোস্ট ১ এবং পোস্ট ৩ একই।"; } else { echo "পোস্ট ১ এবং পোস্ট ৩ ভিন্ন।"; }</code>
is()
メソッドは、2 つのモデルの ID と参照を比較します。 同じレコードのインスタンスがある場合は true
を返し、それ以外の場合は false
を返します。
2. isNot()
メソッドを使用したモデル比較:
isNot()
メソッドは is()
メソッドの逆です。 2 つのモデルを比較し、異なる場合は true
を返します。
<code class="language-php">use App\Models\Post; $post1 = Post::find(1); $post2 = Post::find(2); if ($post1->isNot($post2)) { echo "পোস্ট ১ এবং পোস্ট ২ ভিন্ন।"; } else { echo "পোস্ট ১ এবং পোস্ট ২ একই।"; }</code>
これは is()
の逆を行い、モデルの分散をチェックします。
3. isDirty()
メソッドと isClean()
メソッドを使用したモデルの比較:
isDirty()
メソッドと isClean()
メソッドは、モデル データの変更ステータスを決定します。
isDirty()
: モデル内のフィールドが変更された場合は true
を返します。isClean()
: モデルが変更されていない場合は true
を返します。<code class="language-php">use App\Models\Post; $post1 = Post::find(1); $post2 = Post::find(1); $post3 = Post::find(2); // মডেল তুলনা if ($post1->is($post2)) { echo "পোস্ট ১ এবং পোস্ট ২ একই।"; } else { echo "পোস্ট ১ এবং পোস্ট ২ ভিন্ন।"; } // পোস্ট ১ এবং পোস্ট ৩ তুলনা if ($post1->is($post3)) { echo "পোস্ট ১ এবং পোস্ট ৩ একই।"; } else { echo "পোস্ট ১ এবং পোস্ট ৩ ভিন্ন।"; }</code>
isDirty()
と isClean()
は、モデルの変更を追跡するために使用されます。
メソッド 4、5、および 6 (カスタム isEqual()、diff()、compare()) は、上記の例と組み合わせると理解しやすくなり、必要に応じてカスタマイズできます。
以上がLaravel Eloquent ORM in Bangla Part-(モデルの比較)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。