2013-01-14 3 views
0

Je ne peux pas convertir cette requête Zend_Db ci-dessous:Convertir une requête SQL normale en 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 

Une aide ???

Répondre

1

D'abord, vous devez avoir créé le modèle DbTable:

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

utiliser ensuite comme suit:

$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(); 

je l'espère, vous prendre en compte et ont une priorité supérieure OU.

+0

merci ivan! c'est génial –

Questions connexes