ecmall/eccore/model/model.base.php //除本基类文件外,所有的模型类的类名的构造规则应该是模型名(首字母大写)+model组成,文件名必须是模型名+.model组成如有一个用户模型,模型名为user,则其文件名应为user.model.php,类名为UserModel 类:BaseModel extends Obiect 属性: var $db = null;
/* 所映射的数据库表 */ var $table = '';
/* 主键 */ var $prikey= '';
/* 别名 */ var $alias = '';
/* 模型的名称 */ var $_name = '';
/* 表前缀 */ var $_prefix = '';
/* 数据验证规则 */ var $_autov = array();
/* 查询统计 */ var $_last_query_count = -1;
/* 临时保存已删除的数据 */ var $_dropped_data = array();
/* 关系(定义关系时,只有belongs_to以及has_and_belongs_to_many需要指定reverse反向关系) */ var $_relation = array();
方法:__construct($params,$db) BaseModel($params,$db) getName()//获取模型名称 get($params)//获取单一一条记录 get_unfo($id)//根据ID取得信息 find($params = array())//根据一定条件找出相关数据(不连接其他模型,直接通过JOIN语句来查询) findAll($params = array())//关联查找关于多对多关系的记录 getRelatedDate($relation_name, $ids, $find_param = array())//获取一对多,多对多的关联数据 add($data, $compatible = false)添加一条记录 createRelation($relation_name, $id, $ids)//添加多对多关联的中间表关系数据 updateRelation($relation_name, $id, $ids, $update_values)//更新多对多关系中的关系数据 unlinkRelation($relation_name, $conditions, $ids = null)//去除多对多的关联连接 _relationLink($action,$relation_name,$id,$ids,$update_values = array())//多对多关联表操作 edit($conditions, $edit_data)//简化更显操作 drop($conditions, $fields = '')简化删除记录操作 dropDependentData($keys)//删除依赖数据 _getExtLimit($ext_limit, $alias = null)//获取扩展限制 getDroppedDate()//获取实时保存的已删除记录 getCount()//获取统计数 _saveDroppedDate($sql)//临时保存已删除的记录数据 _updateLastQueryCount($sql)//更新查询统计数 _getConditions($conditions,$if_add_alias = false)//获取条件语段 _getSetFields($date)//获取设置字段 getRealFields($src_fields_list)//获取查询时的字段列表 _getFieldTable($owner)//解析字段所属 _getInsertInfo($data)//获取插入的数据的sql _valid($data)//验证数据合法性,当时验证vrule中指定的字段,并且只当$date中这支了其值是才验证 _initFindParams($params) _joinModel(&$table,$join)//按指定的方式LEFT,JOIN指定关系的表 _getHoinString($relation_info) getRelation($relation_name = null)//获取关系信息 getRelationByType($relation) assemble($relation_name,$assoc_date,$pri_date) dateEnough($date) getRequiredFields()//获取必须的字段列表 /** * 用于统计 */ function getOne($sql) { return $this->db->getOne($sql); } function getRow($sql) { return $this->db->getRow($sql); } function getCol($sql) { return $this->db->getCol($sql); } function getAll($sql) { return $this->db->getAll($sql); }
|