Rumah >pangkalan data >tutorial mysql >ORM Fasih Laravel dalam Bahagian Bangla-(Membandingkan Model)

ORM Fasih Laravel dalam Bahagian Bangla-(Membandingkan Model)

DDD
DDDasal
2025-01-16 20:07:11332semak imbas

Laravel Eloquent ORM in Bangla Part-(Comparing Models)

Perbandingan model (Membandingkan Model) ialah aspek penting Laravel Eloquent, yang berguna dalam pelbagai konteks. Contohnya, mencari perbezaan antara dua tika model atau menyemak sama ada model telah berubah.

Laravel menyediakan beberapa kaedah untuk perbandingan model. Di bawah adalah beberapa kaedah dan contoh:

1. Perbandingan model menggunakan kaedah is():

Kaedah

is() membandingkan dua contoh model. Ini menyemak sama ada kedua-dua model menunjukkan rekod yang sama.

Penggunaan:

<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>
Kaedah

is() membandingkan ID dan rujukan dua model. Jika terdapat kejadian rekod yang sama, mengembalikan true, jika tidak false.

2. Perbandingan model menggunakan kaedah isNot():

Kaedah

isNot() adalah bertentangan dengan kaedah is(). Ia membandingkan dua model dan mengembalikan true jika ia berbeza.

Penggunaan:

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

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

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

Ini melakukan yang bertentangan dengan is(), menyemak varians model.

3. Membandingkan model menggunakan kaedah isDirty() dan isClean():

Kaedah

isDirty() dan isClean() menentukan status perubahan data model.

  • isDirty(): Mengembalikan true jika mana-mana medan dalam model telah berubah.
  • isClean(): Mengembalikan true jika model tidak berubah.

Penggunaan:

<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() dan isClean() digunakan untuk menjejaki perubahan model.

Kaedah 4, 5 dan 6 (Custom isEqual(), diff(), compare()) mudah difahami bersama dengan contoh di atas dan boleh disesuaikan mengikut keperluan.

Atas ialah kandungan terperinci ORM Fasih Laravel dalam Bahagian Bangla-(Membandingkan Model). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn