2012-08-31 2 views
0

Friends이라는 테이블이 있는데 그 필드는 이름, 전화 번호, 주소, skype, 생일 및 메모입니다. 검색 필드도 있습니다. 모든 필드를 검색하는 방법은 무엇입니까? 이런 종류의 어떤 것이 검색 단어 "Ana"을 위해 작동하고 더 좋은 방법이 있습니까?모든 필드에서 각 단어를 검색하는 방법 - Doctrine2

$qb->select('f') 
    ->from('Friends', 'f') 
    ->where('f.name = :name') 
    ->orWhere('f.phone = :phone')->orWhere('f.address = :address')-> ... 
    ->setParameters(array(
    'name' => 'Ana', 
    'phone' => 'Ana', ... )); 

그리고 각 단어 (전체 텍스트 검색과 같은 것)를 검색하는 방법을 묻고 싶습니다. 내 말은 사용자가 "Ana Ivan [email protected]"이라고 쓰면 모든 행을받을 수 있습니다.이 행에는 해당 필드 (Ana, Ivan 및 [email protected]과 상관없이)가 있습니다.

예를 들어 Ana와 Ivan이 두 친구의 이름이지만 John이라는 친구의 메모가 "Ivan의 친구"라고 말하면 Peter는 email peter @ domain의 친구 이름입니다. 사용자는 4 개의 행 (Ana, Ivan, John 및 Peter)을 받아야합니다.

답변

0

나는 이것에 대해 잘 모르겠지만, 나는이 작업을 할 수 있습니다 생각

$search_string = '%".$_POST['search']."%'; 
$qb-> "select 'f' from 'Friends' where f.name LIKE ':search_string' or f.phone LIKE ':search_string' or ..."; 
관련 문제