通用方法详细说明
数据对象通用方法都定义在类DataObject和DataObjectFunc里
路径 :core/model/
文件名称:DataObject.php
文件名称:DataObjectFunc.php
定义通用方法列表
定义通用方法分为两类:实例方法和类方法。
实例方法【需实例化数据对象】
一般来讲数据对象的增删改定义为实例方法
save:保存数据对象
函数定义:public function save()
返回类型:boolen
返回值:保存数据对象记录的ID标识号
update:更新数据对象
函数定义:public function update()
返回类型:boolen
返回值 :是否更新成功;true为操作正常
saveOrUpdate:保存或修改数据对象
函数定义:public function saveOrUpdate()
返回类型:boolen
返回值 :是否保存或更新成功;true为操作正常
delete:删除数据对象
函数定义:public function delete()
返回类型:boolen
返回值 :是否删除成功;true为操作正常
类方法【静态方法】
一般来讲数据对象的查询定义为类方法
updateProperties:更新对象指定的属性
函数定义:public static function updateProperties($sql_ids,$array_properties) 函数说明: * @param array|string $sql_ids 需更新数据的ID编号或者ID编号的Sql语句 * 示例如下: * $sql_ids: * 1.1,2,3 * 2.array(1,2,3) * @param string $array_properties 指定的属性 * 示例如下: * $array_properties * 1.pass=1,name='sky' * 2.array("pass"=>"1","name"=>"sky") * @return boolen 是否更新成功;true为操作正常
updateBy:根据条件更新数据对象指定的属性
函数定义:public static function updateBy($filter,$array_properties) 函数说明: * @param mixed $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @param string $array_properties 指定的属性 * 示例如下: * $array_properties * 1.pass=1,name='sky' * 2.array("pass"=>"1","name"=>"sky") * @return boolen 是否更新成功;true为操作正常
deleteByID:由标识删除指定ID数据对象
函数定义:public static function deleteByID($id) 函数说明: * @param mixed $id 数据对象编号 * @return boolen 是否修改成功
deleteByIds:根据主键删除多条记录
函数定义:public static function deleteByIds($ids) 函数说明: * @param array|string $ids 数据对象编号 * 形式如下: * 1.array:array(1,2,3,4,5) * 2.字符串:1,2,3,4 * @return boolen 是否修改成功
deleteBy:根据条件删除多条记录
函数定义:public static function deleteBy($filter) 函数说明: * @param mixed $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @return boolen 是否修改成功
increment:对属性进行递增
函数定义:public static function increment($filter=null,$property_name,$incre_value=1) 函数说明: * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string property_name 属性名称 * @param int incre_value 递增数 * @return boolen 是否修改成功
decrement:对属性进行递减
函数定义:public static function decrement($filter=null,$property_name,$decre_value=1) 函数说明: * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string property_name 属性名称 * @param int decre_value 递减数 * @return boolen 是否修改成功
existByID:由标识判断指定ID数据对象是否存在
函数定义:public static function existByID($id) 函数说明: * @param mixed $id 数据对象编号 * @return bool 是否存在
existBy:判断符合条件的数据对象是否存在
函数定义:public static function existBy($filter) 函数说明: * @param mixed $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @return bool 是否存在
select:查询当前对象需显示属性的列表
函数定义:public static function select($columns,$filter=null, $sort=Crud_SQL::SQL_ORDER_DEFAULT_ID, $limit=null) 函数说明: * @param string $columns指定的显示属性,同SQL语句中的Select部分。 * 示例如下: * id,name,commitTime * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @param string $sort 排序条件 * 示例如下: * 1.id asc; * 2.name desc; * @param string $limit 分页数目:同Mysql limit语法 * 示例如下: * 0,10 * @return 查询列数组,当只有一个值的时候如select count(表名_id),自动从数组中转换出来值字符串
select_one:查询当前对象单个需显示的属性
函数定义:public static function select_one($columns,$filter=null, $sort=Crud_SQL::SQL_ORDER_DEFAULT_ID, $limit=null) 函数说明: * @param string 指定的显示属性,同SQL语句中的Select部分。 * 示例如下: * id,name,commitTime * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @param string $sort 排序条件 * 示例如下: * 1.id asc; * 2.name desc; * @param string $limit 分页数目:同Mysql limit语法 * 示例如下: * 0,10 * @return 查询列数组,自动从数组中转换出来值字符串,最后只返回一个值
get:查询数据对象列表
函数定义:public static function get($filter=null, $sort=Crud_SQL::SQL_ORDER_DEFAULT_ID, $limit=null) 函数说明: * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:"(id=1 and name='sky') or (name like 'sky')" * @param string $sort 排序条件 * 示例如下: * 1.id asc; * 2.name desc; * @param string $limit 分页数目:同Mysql limit语法 * 示例如下: * 0,10 * @return 对象列表数组
get_one:查询得到单个对象实体
函数定义: public static function get_one($filter=null,$sort=Crud_SQL::SQL_ORDER_DEFAULT_ID) 函数说明: * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string $sort 排序条件 * 示例如下: * 1.id asc; * 2.name desc; * @return 单个对象实体
get_by_id:根据表ID主键获取指定的对象
函数定义: public static function get_by_id($id) 函数说明: * @param string $id 数据对象编号 * @return 数据对象
count:数据对象总计数
函数定义:public static function count($filter=null) 函数说明: * @param object|string|array $filter * $filter 格式示例如下: * 0.允许对象如new User(id="1",name="green"); * 1."id=1","name='sky'" * 2.array("id=1","name='sky'") * 3.array("id"=>"1","name"=>"sky") * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @return 对象总计数
queryPage:数据对象分页
函数定义:public static function queryPage($startPoint,$endPoint,$filter=null,$sort=Crud_SQL::SQL_ORDER_DEFAULT_ID) 函数说明: * @param int $startPoint 分页开始记录数 * @param int $endPoint 分页结束记录数 * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许数据对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string $sort 排序条件 * 默认为 id desc * 示例如下: * 1.id asc; * 2.name desc; * @return mixed 数据对象分页
queryPageByPageNo:数据对象分页根据当前页数和每页显示记录数
函数定义:public static function queryPageByPageNo($pageNo,$filter=null,$pageSize=10,$sort=Crud_SQL::SQL_ORDER_DEFAULT_ID) 函数说明: * @param int $pageNo 当前页数 * @param int $pageSize 每页显示记录数 * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string $sort 排序条件 * 默认为 id desc * 示例如下: * 1.id asc; * 2.name desc; * @return array * count :符合条件的记录总计数 * pageCount:符合条件的总页数 * data :对象分页
其他实例方法
toXml:数据对象转换成xml字符串
函数定义:public function toXml($isAll=true,$filterArray=null) 函数说明: * @param $filterArray 需要过滤不生成的对象的field * 示例:$filterArray=array("id","commitTime"); * @param $isAll 是否对象所有的field都要生成,包括没有内容或者内容为空的field * @return xml内容
toJson:数据对象转换成Json字符串
函数定义:public function toJson($isAll=false) 函数说明: * @param $isAll 是否对象所有的field都要生成,包括没有内容或者内容为空的field * @return Json格式的数据格式的字符串。
toArray:数据对象转换成数组
函数定义:public function toArray($isAll=true) 函数说明: * @param $isAll 是否对象所有的field都要生成,包括没有内容或者内容为空的field * @return 数组
saveRelationForManyToMany[数据对象多对多存储]
函数定义:public function saveRelationForManyToMany($relation_object,$relation_id_value,$other_column_values=null) 函数说明: +---------------------------------------------------- * 数据对象存在多对多|从属于多对多关系时,因为存在一张中间表。 * 因此它们的关系需要单独进行存储 * 示例1【多对多-主控端】: * $user=new User(); * $user->setId(2); * $user->saveRelationForManyToMany("roles","3",array("commitTime"=>date("Y-m-d H:i:s"))); * 说明:roles是在User数据对象中定义的变量: * static $many_many=array( * "roles"=>"Role", * ); * 示例2【多对多-被控端】: * $role=new Role(); * $role->setId(5); * $role->saveRelationForManyToMany("users","6",array("commitTime"=>date("Y-m-d H:i:s"))); * 说明:users是在Role数据对象中定义的变量: * static $belongs_many_many=array( * "users"=>"User", * ); +---------------------------------------------------- * @param mixed $relation_object 多对多|从属于多对多关系定义对象 * @param mixed $relation_id_value 关系对象的主键ID值。 * @param array $other_column_values 其他列值键值对【冗余字段便于查询的数据列值】,如有一列:记录关系创建时间。 * @return mixed 保存对象后的主键
其他类方法
max:获取数据对象指定属性[表列]最大值
函数定义:public static function max($column_name=null,$filter=null) 函数说明: * @param string $column_name 列名,默认为数据对象标识 * @param object|string|array $filter 查询条件,在where后的条件 * @return int 数据对象标识最大值
min:获取数据对象指定属性[表列]最小值
函数定义:public static function min($column_name=null,$filter=null) 函数说明: * @param string $column_name 列名,默认为数据对象标识 * @param object|string|array $filter 查询条件,在where后的条件 * @return int 数据对象列名最小值,如未指定列名,为标识最小值
sum:获取数据对象指定属性[表列]总和
函数定义:public static function sum($column_name=null,$filter=null) 函数说明: * @param string $column_name 列名 * @param object|string|array $filter 查询条件,在where后的条件 * @return int 数据对象列名总数
countMultitable对象总计数[多表关联查询]
函数定义:public static function countMultitable($object,$from,$filter=null) 函数说明: * @param string|class $object 需要查询的对象实体|类名称 * @param string|array $from 来自多张表或者多个类[必须是数据对象类名],在from后的多张表名,表名之间以逗号[,]隔开 * 示例如下: * 0."table1,table2" * 1.array("table1","table2") * 2."class1,class2" * 3.array("class1","class2") * @param object|string|array $filter * $filter 格式示例如下: * 0.允许对象如new User(id="1",name="green"); * 1."id=1","name='sky'" * 2.array("id=1","name='sky'") * 3.array("id"=>"1","name"=>"sky") * @return 对象总计数
queryPageMultitable:对象分页[多表关联查询]
函数定义:public static function queryPageMultitable($startPoint,$endPoint,$from,$filter=null,$sort=Crud_SQL::SQL_ORDER_DEFAULT_ID) 函数说明: * @param int $startPoint 分页开始记录数 * @param int $endPoint 分页结束记录数 * @param string|array $from 来自多张表或者多个类[必须是数据对象类名],在from后的多张表名,表名之间以逗号[,]隔开 * 示例如下: * 0."table1,table2" * 1.array("table1","table2") * 2."class1,class2" * 3.array("class1","class2") * @param object|string|array $filter 查询条件,在where后的条件 * 示例如下: * 0."id=1,name='sky'" * 1.array("id=1","name='sky'") * 2.array("id"=>"1","name"=>"sky") * 3.允许对象如new User(id="1",name="green"); * 默认:SQL Where条件子语句。如:(id=1 and name='sky') or (name like 'sky') * @param string $sort 排序条件 * 默认为 id desc * 示例如下: * 1.id asc; * 2.name desc; * @return mixed 对象分页