나는 계층에서 검색을 수행하는 복잡한 검색 알고리즘을 작성하고 있습니다. 그리고 두 계층의 경우 젠드의 SQL 빌더가 처리 할 수없는 매우 이상한 순서 절이 필요합니다. 젠드에게 명령을 해석하고 파멸시키지 않고 문자열을 order by 절에 추가하도록 지시하는 방법이 있습니까? 에 의해, 내 순서의 예를 생각해 것과Zend sql의 order 함수에 문자열을 전달할 수 있습니까?
는
IF(Name LIKE '1234 %' OR Name LIKE '% 1234 %' OR Name LIKE '% 1234' OR Code LIKE '1234 %' OR Code LIKE '% 1234 %' OR Code LIKE '% 1234', 1, 0) + IF(Name LIKE 'ASF %' OR Name LIKE '% ASF %' OR Name LIKE '% ASF' OR Code LIKE 'ASF %' OR Code LIKE '% ASF %' OR Code LIKE '% ASF', 1, 0)
는 기본적으로 현재 레코드가에 의해 포함하고 주문 검색 문자열에서 단어의 수를 계산합니다.
은 내가 order by
조항의 인수는 일반 문자열 인 경우이
$sql = new Sql($this->adapter);
$select = $sql->select();
$select->from('Table');
$select->where($where);
$select->order($orderString);