집 >데이터 베이스 >MySQL 튜토리얼 >방글라어 부분의 Laravel Eloquent ORM-(모델 비교)
모델 비교(모델 비교)는 Laravel Eloquent의 중요한 측면으로, 다양한 상황에서 유용합니다. 예를 들어 두 모델 인스턴스 간의 차이점을 찾거나 모델이 변경되었는지 확인합니다.
Laravel은 모델 비교를 위한 여러 가지 방법을 제공합니다. 다음은 몇 가지 방법과 예입니다.
1. is()
방법을 사용한 모델 비교:
is()
메서드는 두 모델 인스턴스를 비교합니다. 두 모델이 동일한 레코드를 가리키고 있는지 확인합니다.
<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()
메서드는 두 모델의 ID와 참조를 비교합니다. 동일한 레코드의 인스턴스가 있으면 true
를 반환하고, 그렇지 않으면 false
을 반환합니다.
2. isNot()
방법을 사용한 모델 비교:
isNot()
방법은 is()
방법과 반대입니다. 두 모델을 비교하여 서로 다를 경우 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(Custom isEqual(), diff(), Compare())은 위의 예시와 연계하여 이해하기 쉽고 필요에 따라 맞춤 설정할 수 있습니다.
위 내용은 방글라어 부분의 Laravel Eloquent ORM-(모델 비교)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!