-
라라벨에서 일대다 다형 관계의 최신 및 최고의 모델 검색하기카테고리 없음 2024. 1. 27. 17:06
다형 관계도 "latest of many" 및 "oldest of many" 메소드를 제공하여 일대다 다형 관계에서
가장 최근 및 가장 오래된 관련 모델을 검색할 수 있습니다.
먼저 사용자 모델에서는 두 가지 메소드를 정의하겠습니다.
하나는 최신 이미지를 검색하는 "latestImage"이고, 다른 하나는 가장 오래된 이미지를 검색하는 "oldestImage"입니다.
public function latestImage()
{
return $this->morphOne(related: Image::class, name: 'imageable')->latestOfMany();
}
public function oldestImage()
{
return $this->morphOne(related: Image::class, name: 'imageable')->oldestOfMany();
}두 메소드 모두 morphOne 메소드를 사용하여 Image 모델 클래스와의 다형 일대다 관계를 정의합니다.
그런 다음 latestOfMany 및 oldestOfMany 메소드를 체인하여 최신 및 가장 오래된 이미지를 검색합니다.
php artisan Tinker;
---------------------
// 사용자 검색
$userInstance = User::find(5);
// 최신 이미지 검색
$latestImage = $userInstance->latestImage;
// 가장 오래된 이미지 검색
$oldestImage = $userInstance->oldestImage;