微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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}");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐