2011-02-24 5 views
1

3 일 전 CakePHP를 사용하기 시작했으며 지금은 스파이크 솔루션 중간에 있습니다. 나는 그것을 빨리 배우고 있지만 일부 기능은 아직 내 머리 속에 분명하지 않다.CakePHP Architectural Question - 모델에 대한 맞춤 검색 작성

다음 진행 방법에 대한 조언을 찾고있었습니다.

나는 사용자가 교수진을 위해 여러 필드 (10+)에 데이터를 입력 할 수있는 검색을 작성하고 있습니다. 이름, 성 또는 부서/부서와 같은 관련 정보를 입력 할 수 있으며 이러한 정보는 모두 모델에 올바르게 연관되어 있습니다.

LIKE 문을 사용하고 검색을 수행하는 쿼리를 작성하려고합니다. 교수형 모델을 해킹하여 검색을 수행 할 수있는 찾기 기능을 작성하거나 확장하려고 생각했습니다.

이 방법이 맞습니까? 검색을 위해 사용자 지정 함수를 작성해야합니까? 이것을 할 또 다른 방법이 있습니까?

저는 여전히 프레임 워크를 배우고 있으며 최상의 옵션을 듣고 싶기 때문에 의도적으로 프로젝트에 대한 세부 사항을 생략했습니다. 디자인에 의해 제한되고 싶지 않습니다. 하지만 기본적으로 이름, 생년월일, 교수진 멤버십과 같은 여러 필드가있는 양식이 있으며 사용자가 정보를 입력하고 교수를 통해 검색 할 수 있어야합니다.

누구든지 올바른 방향으로 나를 가리킬 수 있으면 크게 감사하겠습니다. 나는 많은 독서를하고 있었고 앞으로 나아갈 방법을 모르겠습니다.

감사합니다.

답변

-1

는 내가 뭘하려고했던 것은 정말 간단합니다. 그것은 전혀 건축 학적 질문이 아니에요, 저는 모델에 대해 읽어보고 싶었고 저 자신의 질문에 대답했습니다.

특히, 나는 복잡한 찾기 조건과 도움을 필요로하고, CakePHP의 책은에 섹션이 : 나는 검색 핸들 방법

http://book.cakephp.org/view/1030/Complex-Find-Conditions#!/view/1030/Complex-Find-Conditions

+0

올바른 해결책으로 표시하십시오. 가능한 한 솔루션 코드를 게시 한 후 수행하십시오. –

+0

불행히도 StackOverflow를 사용하기 위해 2 일 정도 기다렸다가 올바른 답으로 표시해야합니다. – Foo

0

Cake에서 이것을 처리 할 수있는 방법은 많이 있지만, 좋은 소식은 아마 그렇게 할 필요가 없다는 것입니다. 이 훨씬 더 쉽게 생각할 수있는 Cake를위한 많은 검색 부가 기능들이 있습니다.

케이크에 대해 Neil Crooke's "Searchable Plugin"을 시도해보십시오.

닐의 플러그인이 꽤 고체

his post on the subject

0

이입니다. $ this-> data [ 'Faculty'] 대신에 모든 필드의 데이터를 받아 들일 수있는 단일 텍스트 상자가 있다면 검색 할 수 있도록하려는 필드의 배열을 반복하십시오.

foreach ($this->data['Faculty'] as $field => $value){ 
      $conditions[$field . ' LIKE'] => '%' . $value . '%'; 
} 
$results = $this->Faculty->find('all', 
    array(
     'conditions'=>array('OR'=>$conditions), //or use AND here depending on need 
    ) 
); 
$this->set('results',$results); 
관련 문제