선택 상자에서 관계 데이터 값을 필터링하여 읽어들이기(Laavel-Admin)

예를 들어, 작성자(autohor)와 기사(article)를 저장하는 DB가 있는 경우
화면에서 글을 검색할 때'필자는 남성의 글을 검색하고 싶다'처럼 관계 데이터를 원래대로 압축하려는 경우가 있다.
공식 문서를 보고도 잘 몰라서 많이 찾아보고 시행해 봤어요.
필터링이므로 Laavel-Admin의 Controller grid 메서드에 기록됩니다.
$grid->filter(function ($filter) {
    $filter->where(function ($query) {
        $gender = $this->input;
        $query->whereHas('author', function ($query) use ($gender) {
            $query->where('gender', $gender);
        });
    }, '筆者の性別', 'author_gender')->select([1 => "男性", 1 => "女性"]);
});
이렇게 써도 돼요.
where의 두 번째 파라미터의'필자의 성별'부분은 탭의 이름이고, 세 번째 파라미터의'author gender'부분은 검색할 때의 URL 조회로 사용된다.
where와 select 두 가지 방법이 있어요.
여러분 힘들면 꼭 써보세요!

좋은 웹페이지 즐겨찾기