2013-05-16 2 views
2

안녕 내가 어디 젠드이 작업을 수행하고 orwhere 수있는 방법을사용 젠드 DB 때()

selec * from table where type = 2 AND (name LIKE '%4%' OR name LIKE '%5%') 

dbclass 젠드 프레임 워크에서이 SQL을 만들고 싶어?

나는 이것이 좋은 생각,

또한 나는이 경우 필요 사용할 수 있다고 생각 필요한이되지 않습니다 SQL

$this->select()->from($this->_name)->where('type = ?', $type)->orwhere('name LIKE ?', '%'.4.'%'); 

를 생성합니다 일반 모드를 사용하고 계십니까?

+0

당신은 그룹 수없는 경우 젠드에 절. 유일한 해결책은 @Tim Fountain의 답 - 일반적인 쿼리 문자열과 같은 그룹 절에 대한 답입니다. 참고 :'ZF2'에 대한 확신이 없습니다. 아마도이 문제에 대한 해결책이있을 것입니다. – enenen

+0

감사합니다. 그러나 사용했습니다. ('type =?', $ type) -> orwhere ('name LIKE?', '%')를 사용하여 $ this-> select() -> from ($ this-> _ name) 4. '%'); 이제는 작동하는 것입니다 ... 이것은 좋은 진술입니까? –

+0

이것이 작동하지 않으면 다음을 시도하십시오. http://stackoverflow.com/questions/1179279/grouping-where-clauses-with-zend-db-table-abstract –

답변

5

당신이 원하는 :

$this->select() 
    ->from($this->_name) 
    ->where('type = ?', $type) 
    ->where('name LIKE ? OR name LIKE ?', array('%'.4.'%', '%'.5.'%'); 
+0

고맙습니다. –