当前位置: 首页 > 工具软件 > ZenTaoPHP > 使用案例 >

php框架 写sql语句的,有关zentaophp框架的一个sql语句方法

沃瑾瑜
2023-12-01

参考lib/base/dao/dao.class.phpt第1527-1557行,需要添加括号加上->markLeft()、->markRight()

/**

* 在左边添加'('。

* Add an '(' at left.

*

* @param int $count

* @access public

* @return ojbect the sql object.

*/

public function markLeft($count = 1)

{

if($this->inCondition and !$this->conditionIsTrue) return $this;

$this->sql .= str_repeat('(', $count);

$this->inMark = true;

return $this;

}

/**

* 在右边增加')'。

* Add an ')' at right.

*

* @param int $count

* @access public

* @return object the sql object.

*/

public function markRight($count = 1)

{

if($this->inCondition and !$this->conditionIsTrue) return $this;

$this->sql .= str_repeat(')', $count);

$this->inMark = false;

return $this;

}

return $this->dao->select('id,amount,dept,signedBy,begin,end,bourse,openBank')->from(TABLE_CONTRACT)

->where('deleted')->eq(0)

->beginIF($mode=='bysearch')

->markLeft() /* 添加左括号“(” */

->andWhere('begin','between',$startDate,$endDate)

->orWhere('end')->between($startDate,$endDate)

->markRight() /* 添加右括号“)” */

->fi()

->beginIF($dept)

->andWhere('dept')->eq($dept)

->fi()

->orderBy($orderBy)

->fetchAll();

 类似资料: