Maison >base de données >tutoriel mysql >Laravel Eloquent ORM en Bangla Part - (Comparaison des modèles)

Laravel Eloquent ORM en Bangla Part - (Comparaison des modèles)

DDD
DDDoriginal
2025-01-16 20:07:11391parcourir

Laravel Eloquent ORM in Bangla Part-(Comparing Models)

La comparaison de modèles (Comparaison de modèles) est un aspect important de Laravel Eloquent, qui est utile dans divers contextes. Par exemple, trouver des différences entre deux instances de modèle ou vérifier si un modèle a changé.

Laravel propose plusieurs méthodes de comparaison de modèles. Vous trouverez ci-dessous quelques méthodes et exemples :

1. Comparaison de modèles selon la méthode is() :

La méthode

is() compare deux instances de modèle. Cela vérifie si les deux modèles pointent vers le même enregistrement.

Utilisation :

<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>
La méthode

is() compare l'ID et la référence de deux modèles. S'il existe une instance du même enregistrement, renvoie true, sinon false.

2. Comparaison de modèles selon la méthode isNot() :

La méthode

isNot() est à l'opposé de la méthode is(). Il compare deux modèles et renvoie true s'ils diffèrent.

Utilisation :

<code class="language-php">use App\Models\Post;

$post1 = Post::find(1);
$post2 = Post::find(2);

if ($post1->isNot($post2)) {
    echo "পোস্ট ১ এবং পোস্ট ২ ভিন্ন।";
} else {
    echo "পোস্ট ১ এবং পোস্ট ২ একই।";
}</code>

Cela fait le contraire de is(), vérifier la variance des modèles.

3. Comparaison de modèles à l'aide des méthodes isDirty() et isClean() :

Les méthodes

isDirty() et isClean() déterminent l'état des modifications des données du modèle.

  • isDirty() : true renvoie si un champ du modèle a changé.
  • isClean() : Renvoie true si le modèle n'a pas changé.

Utilisation :

<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() et isClean() sont utilisés pour suivre les modifications du modèle.

Les méthodes 4, 5 et 6 (Custom isEqual(), diff(), compare()) sont faciles à comprendre en conjonction avec les exemples ci-dessus et peuvent être personnalisées selon les besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn