phpreturn $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
sqlSELECT 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語句
sqlid,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條件外面加上括弧該怎麼處理?
回複內容:
phpreturn $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
sqlSELECT 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語句
sqlid,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條件外面加上括弧該怎麼處理?