2013-01-14 4 views
0

내가 Zend_Db에 쿼리 이하이 변환하지 못할 :일반 SQL 쿼리를 Zend_Db로 변환 하시겠습니까?

SELECT `mfaq`.* FROM `m_faq` AS `mfaq` 
WHERE (mfaq.delete_flg <> 'D' OR mfaq.delete_flg IS NULL) 
AND ((mfaq.title like '%$title%') 
OR (mfaq.title like '%$title%') 
AND (mfaq.title like '%$title%') 
OR (mfaq.title like '%$title%')) 
ORDER BY `create_date` DESC 

어떤 도움을 ???

답변

1

먼저 당신이 DBTABLE 모델을 만들었해야합니다 다음과 같이

class Application_Model_DbTable_Mfaq extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'm_faq'; 
} 

그 다음을 사용 :

나는 희망
$table = new Application_Model_DbTable_Mfaq(); 

$select = $table->getAdapter()->select() 
      ->from(array('mfaq'=>$table->info(Zend_Db_Table::NAME))) 
      ->where("(mfaq.delete_flg <> 'D'") 
      ->orWhere("mfaq.delete_flg IS NULL)") 
      ->where("(mfaq.title like ?", "%$title%") 
      ->orWhere("mfaq.title like ? ", "%$title%") 
      ->where(" mfaq.title like ?", "%$title%") 
      ->orWhere("mfaq.title like ?)", "%$title%") 
      ->order("create_date DESC"); 

// echo $select; // shows your sql 
$results = $select->query()->fetchAll(); 

, 당신은 고려가 AND OR보다 높은 우선 순위를 갖습니다.

+0

ivan에 감사드립니다. 굉장합니다. –