php – 嵌套在zend framework 2.2中的where子句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 嵌套在zend framework 2.2中的where子句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2238字,纯文字阅读大概需要4分钟。
内容图文
![php – 嵌套在zend framework 2.2中的where子句](/upload/InfoBanner/zyjiaocheng/733/9ce3178d1a4b400d8fc10ee7b5eb1357.jpg)
我需要这样的查询
SELECT tbl_leads . * , tbl_lead_category.vLeadCategoryName AS vLeadCategoryName, tbl_lead_category.vLeadCategoryIcon AS vLeadCategoryIcon, Concat( vFirst, ' ', vLast ) AS vFirst
FROM tbl_leads
LEFT JOIN tbl_lead_category ON tbl_lead_category.iLeadCategoryID = tbl_leads.iLeadCategoryID
LEFT JOIN tbl_user ON tbl_user.iUserID = tbl_leads.iUserID
WHERE (
tbl_leads.eDeleted = '0'
)
AND (
tbl_leads.iUserID = '1'
)
AND (
vCompanyName LIKE '%t%'
OR vCompanyUrl LIKE '%t%'
OR vPersonName LIKE '%t%'
OR vDesignationName LIKE '%t%'
OR vSkypeID LIKE '%t%'
OR vEmailID LIKE '%t%'
OR vPhoneNumber LIKE '%t%')
我的代码就像:
public function fetchAll($data, $aColumns, $iUserID = "")
{
$select = $this->tableGateway->getSql()->select();
$select->columns(array('*'));
$select->join('tbl_lead_category', 'tbl_lead_category.iLeadCategoryID = tbl_leads.iLeadCategoryID', array('vLeadCategoryName', 'vLeadCategoryIcon'), "LEFT")
->join('tbl_user', 'tbl_user.iUserID = tbl_leads.iUserID',array("vFirst"=>new \Zend\Db\Sql\Predicate\Expression("Concat(vFirst,' ',vLast)")),"LEFT");
$where = new \Zend\Db\Sql\Where();
$where->NEST->equalTo('tbl_leads.eDeleted','0')->UNNEST;
if(isset($iUserID) && $iUserID != "")
$where->AND->NEST->equalTo ('tbl_leads.iUserID', $iUserID)->UNNEST;
// start for searching
if (isset($data['sSearch']) && $data['sSearch'] != "") {
for ($i = 0; $i < count($aColumns) - 1; $i++) {
$where->OR->like($aColumns[$i], "%" . $data['sSearch'] . "%");
}
}
/*i have tried this, but its giving error: not nested*****
if (isset($data['sSearch']) && $data['sSearch'] != "") {
$where->AND->NEST;
for ($i = 0; $i < count($aColumns) - 1; $i++) {
$where->OR->like($aColumns[$i], "%" . $data['sSearch'] . "%");
// how can i get parentheses to my where which i am searching
}
$where->UNNEST;
} ***************/
$select->where($where);
var_dump($select->getSqlString());
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
}
如果我使用嵌套而不能通过使用for循环和if语句创建它,
如果我有这样的自定义查询,我该如何进行查询,
没有括号我的查询没有意义.
解决方法:
我认为追随更好. NEST将打开支架UNNEST将关闭支架
$where = new Sql\Where();
$where->NEST//start braket
->equalTo('col','someVal')
->OR
->equalTo('col','secondVal')
->UNNEST //close bracet
内容总结
以上是互联网集市为您收集整理的php – 嵌套在zend framework 2.2中的where子句全部内容,希望文章能够帮你解决php – 嵌套在zend framework 2.2中的where子句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。