时间:2021-07-01 10:21:17 帮助过:5人阅读
php
return $this->dao->select('id,amount,dept,signedBy,begin,end,bourse,openBank')->from(TABLE_CONTRACT) ->where('deleted')->eq(0) ->beginIF($mode=='bysearch')->andWhere('begin','between',$startDate,$endDate) ->orWhere('end')->between($startDate,$endDate) ->fi() ->beginIF($dept) ->andWhere('dept')->eq($dept) ->fi() // ->groupBy($groupBy) ->orderBy($orderBy) ->fetchAll();
这段代码能够生成这样的sql
sql
SELECT id,amount,dept,signedBy,begin,end,bourse,openBank FROM `crm_contract` wHeRe deleted = '0' AND dept = '820011' AND begin BETWEEN '2015-03-01' AND '2015-03-31' OR end BETWEEN '2015-03-01' AND '2015-03-31' oRdEr bY `signedBy` desc,`amount` desc
对上面的orm语句如何书写才能形成下列的SQL语句
sql
id,amount,dept,signedBy,begin,end,bourse,openBank FROM `crm_contract` wHeRe deleted = '0' AND dept = '820011' AND (begin BETWEEN '2015-03-01' AND '2015-03-31' OR end BETWEEN '2015-03-01' AND '2015-03-31' ) oRdEr bY `signedBy` desc,`amount` desc
简单说明就是在begin和end两个where条件外面加上括号该怎么处理?
php
return $this->dao->select('id,amount,dept,signedBy,begin,end,bourse,openBank')->from(TABLE_CONTRACT) ->where('deleted')->eq(0) ->beginIF($mode=='bysearch')->andWhere('begin','between',$startDate,$endDate) ->orWhere('end')->between($startDate,$endDate) ->fi() ->beginIF($dept) ->andWhere('dept')->eq($dept) ->fi() // ->groupBy($groupBy) ->orderBy($orderBy) ->fetchAll();
这段代码能够生成这样的sql
sql
SELECT id,amount,dept,signedBy,begin,end,bourse,openBank FROM `crm_contract` wHeRe deleted = '0' AND dept = '820011' AND begin BETWEEN '2015-03-01' AND '2015-03-31' OR end BETWEEN '2015-03-01' AND '2015-03-31' oRdEr bY `signedBy` desc,`amount` desc
对上面的orm语句如何书写才能形成下列的SQL语句
sql
id,amount,dept,signedBy,begin,end,bourse,openBank FROM `crm_contract` wHeRe deleted = '0' AND dept = '820011' AND (begin BETWEEN '2015-03-01' AND '2015-03-31' OR end BETWEEN '2015-03-01' AND '2015-03-31' ) oRdEr bY `signedBy` desc,`amount` desc
简单说明就是在begin和end两个where条件外面加上括号该怎么处理?