A sql statement method about zentaophp framework

WBOY
Release: 2016-07-06 13:54:16
Original
1327 people have browsed it

<code>php</code><code>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();  
</code>
Copy after login
Copy after login

This code can generate such sql

<code>sql</code><code>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
</code>
Copy after login
Copy after login

How to write the above ORM statement to form the following SQL statement

<code>sql</code><code>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
</code>
Copy after login
Copy after login

A simple explanation is how to add parentheses outside the two where conditions of begin and end?

Reply content:

<code>php</code><code>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();  
</code>
Copy after login
Copy after login

This code can generate such sql

<code>sql</code><code>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
</code>
Copy after login
Copy after login

How to write the above ORM statement to form the following SQL statement

<code>sql</code><code>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
</code>
Copy after login
Copy after login

A simple explanation is how to add parentheses outside the two where conditions of begin and end?

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!