2013-04-08 2 views
1

어리석은 질문 일지 모르지만 나는 그것에 대한 답을 찾을 수 없습니다.Zend Framework 2의 where 문을 결합하는 방법

'SELECT * FROM table WHERE (x = a AND y = b) OR z = c'와 같은 간단한 쿼리가 있으며 ZF2에서이를 구현하는 방법을 찾을 수 없습니다.

조건부 및 위치 개체에 대한 많은 정보를 찾았지만 해당 정보를 AND 및 OR로 구성된 쿼리에 결합하는 방법을 찾을 수 없습니다.

누군가가 올바른 방향으로 나를 가리킬 수 있다면 정말 고맙겠습니다.

답변

3

당신은 그들이 당신은 단순히 예를 들어, 배열을 사용하여 선택 객체로 전달할 수, 사용 및 추가하려면 : 쿼리, 당신이 어디를 사용할 수있는 경우는 더 복잡합니다

$select->where(array(
    'type'   => 'test, 
    'some_field' => '1' 
)); 

쿼리 구축 대상 :

$where = new \Zend\Db\Sql\Where(); 
$where->addPredicate(
     new \Zend\Db\Sql\Predicate\Like('some_field', '%'.$value.'%') 
) 
->OR->->equalTo('my_field', 'bob') 
->AND->equalTo('my_field', 'hello'); 

$select->where($where); 
+0

좋은 것은 내가 테스트 한 것을 게시되지 않은를 - 그것은 훨씬 더 복잡 보았다 : P – Sam

+2

나는 다시 가서 때를 변경 모두가 이상한 방법의 분류 사용했습니다 나는 더 간단한 방법을 발견했다, 나는 문서가 약간의 작업이 필요하다고 생각한다;) – Andrew

+0

그쪽으로 nks, 정확히 내가 뭘 찾고 있었는지 (그리고 그것은 내가 생각했던 것보다 훨씬 간단하다! :)) – Fabian

관련 문제