-
Relation filter 관계형 데이터 where로 필터링하고 싶을 때 #Filter #Relation #BelongsTo #whereLaravel/Nova 2022. 12. 18. 19:07반응형SMALL
# What?
특정 리소스에서 다른 관계 데이터 가져올 때 where로 필터링하고 싶을 때
# How?
- 예시상황 : Dating이라는 리소스에서 User리소스를 호출할 때 men이라는 관계명으로 가져옴. 이 때 성별이 남자인 user들만 목록에 노출되야하는 상황
@Nova\Dating.php
return [ ... BelongsTo::make(__("Men"), "men", User::class), ....
@Nova\User.php
public static function relatableQuery(NovaRequest $request, $query) { $requestSegment = strtolower($request->segment(4)); if ($requestSegment === 'men') return $query->where("count_dating", ">", 0)->where("sex", Sex::MEN); if ($requestSegment === 'women') return $query->where("count_dating", ">", 0)->where("sex", Sex::WOMEN); return $query; }
LIST'Laravel > Nova' 카테고리의 다른 글
Nova 419 page expired 뜰 때 (0) 2023.06.15 사이드바 메뉴 순서 변경 (0) 2022.09.15 Order 패키지 사용법(Orderable) (0) 2022.07.02 텍스트 카드 추가하는법 (0) 2022.06.06 Action에 모델 resource id(parameter, 변수) 전달하고싶을 때 (0) 2022.05.19