zend-framework – 如何在AND条件内写入带有OR条件的Zend db select

前端之家收集整理的这篇文章主要介绍了zend-framework – 如何在AND条件内写入带有OR条件的Zend db select前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以指导我使用Zend db select编写如下的查询
SELECT `tbl_md_users`.* 
FROM `tbl_md_users` 
WHERE 
      user_type <> 'TYPE1')
AND (first_name LIKE '%tom%' OR last_name LIKE '%tom%' OR user_name LIKE '%tom%')
如果你想
SELECT `tbl_md_users`.* 
FROM `tbl_md_users` 
WHERE 
  user_type <> 'TYPE1')
AND (first_name LIKE '%tom%' OR first_name LIKE '%dick%' OR first_name LIKE '%harry%')

那么第一个答案是行不通的

我改用了Zend_Db_Expr

$likeTom = new Zend_Db_Expr("first_name LIKE '%tom%'");
$likeDick = new Zend_Db_Expr("first_name LIKE '%dick%'");
$likeHarry = new Zend_Db_Expr("first_name LIKE '%harry%'");

$query = $database->select ()
    ->from ('tbl_md_users')
    ->where ('user_type <> ?','TYPE1')
    ->where ("{$likeTom} OR {$likeDick} OR {$likeHarry}");

猜你在找的PHP相关文章