2016-10-06 6 views
0

Laravel 5.2를 사용하는 프로젝트에서 검색 필터를 만들고 있습니다. 나는 2/3 일 동안 노력했지만 쿼리 구조가 어떻게되어야 하는지를 알 수 없습니다. 여기에 필터Laravel의 필터 검색 5.2

<form class="resume_filters in_sidebar" action="{{ action('[email protected]') }}" method="get"> 

<!-- Location --> 
<div class="widget"> 
    <h4>Location</h4> 
    <div class="search_location"> 
     <input type="text" name="search_location" id="search_location" placeholder="Location"/> 
    </div> 
</div> 

<!-- Skills --> 
<div class="widget"> 
    <h4>Filter by Skills</h4> 
    <div class="search_categories resume-filter"> 
     {!! Form::select('search_skills[]',$repository->filterSkills($candidates),null,['id'=>'search_skills','class'=>'chosen-select','multiple'=>'multiple']) !!} 
    </div> 
</div> 

<!-- Sub Category --> 
<div class="widget"> 
    <h4>Filter by Categories</h4> 
    <div class="search_categories resume-filter"> 
     {!! Form::select('search_categories[]',$repository->filterSubCategory($candidates),null,['id'=>'search_categories','class'=>'job-manager-category-dropdown','multiple'=>'multiple']) !!}     
    </div> 
</div> 

<input type="submit" class="button big" value="Filter" /> 

</form> 

검색 기준에 대한 블레이드입니다 :

  1. 하나의 항목 만 (위치 또는 기술 또는 카테고리)에 의해 필터가 해당 열에서 검색하고 다른 열을 무시됩니다.
  2. 두 항목으로 필터링하는 경우 열과 일치하고 다른 항목은 무시해야합니다.
  3. 필터를 3 개 사용하는 경우/모두 3 개의 열과 일치해야합니다.

여러 가지 방법으로 시도해 보았습니다. 컨트롤러 코드가 엉망입니다. 그래서 지금은 게시하지 않을 것입니다. 아무도 필터링에 대한 쿼리를 작성하는 데 도움 주시기 바랍니다 수 있습니까?

답변

0

컨트롤러에서 조건을 채우는 것은 어떤 필드가 채워 졌는지 확인하는 것은 어떻습니까? 따라서 검색 양식의 현재 상태를 기반으로 적절한 쿼리를 실행할 수 있습니다.

+0

세 개의 입력 필드가 있습니다. 하나씩 확인하고 두 개를 확인하고 세 개의 필드가 채워지는지 여부를 확인하면 너무 많은 코드를 작성해야합니다. – smartrahat

+0

나는 컴퓨터에서 더 쉬울 것이라고 생각한다.하지만 코드는 쿼리 부분에 조건을 설정하는 것보다 유지 관리가 더 쉽다. cmiiw. – Auromius

+0

좋습니다, 시도하겠습니다. 진행 상황을 계속 업데이트 해 드리겠습니다. 고맙습니다. – smartrahat