|
@@ -70,6 +70,27 @@ abstract class Table {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //此项目每个表都有code字段,所以放在基类里面
|
|
|
|
|
+ public function getInfoByCode($code){
|
|
|
|
|
+
|
|
|
|
|
+ //查询语句必须用sql_check_input检查参数
|
|
|
|
|
+ $code = trim($code);
|
|
|
|
|
+ $code = $this->pdo->sql_check_input(array('string', $code));
|
|
|
|
|
+
|
|
|
|
|
+ $sql = "select * from ". $this->table_fullname ." where ".$this->table_name."_code = $code limit 1";
|
|
|
|
|
+
|
|
|
|
|
+ $rs = $this->pdo->sqlQuery($sql);
|
|
|
|
|
+ $r = array();
|
|
|
|
|
+ if($rs){
|
|
|
|
|
+ foreach($rs as $key => $val){
|
|
|
|
|
+ $r[$key] = $this->dataToAttr($val);
|
|
|
|
|
+ }
|
|
|
|
|
+ return $r[0];
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return $r;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
//获取列表(分页)
|
|
//获取列表(分页)
|
|
|
//$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
|
|
//$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
|
|
@@ -144,6 +165,23 @@ abstract class Table {
|
|
|
return $r;
|
|
return $r;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //code不存在则add,否则update
|
|
|
|
|
+ public function addOrUpdateByCode($attrs)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (empty($attrs) || empty($attrs['code'])) {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $rs = $this->getInfoByCode($attrs['code']);
|
|
|
|
|
+ if (empty($rs)) {
|
|
|
|
|
+ $id = $this->add($attrs);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $id = $rs['id'];
|
|
|
|
|
+ $this->update($id, $attrs);
|
|
|
|
|
+ }
|
|
|
|
|
+ return $id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
//--------------------------------------------------
|
|
//--------------------------------------------------
|
|
|
//------------依赖于字段设置的常见方法,可以重载----
|
|
//------------依赖于字段设置的常见方法,可以重载----
|
|
|
//--------------------------------------------------
|
|
//--------------------------------------------------
|