get() get(\PhalApi\long $id, \PhalApi\string/array $fields = '*') : array 根据主键读取纪录 Parameters \PhalApi\long $id 纪录主键 \PhalApi\string/array $fields 需要获取的表字段,可以为字符串(如:name,from)或数组(如:array('name', 'from')) Returns array — 数据库表纪录
insert() insert(array $data, $id = NULL) : \PhalApi\long 插入新纪录 这里看起来有点奇怪,但如果我们需要进行分表存储,这里的参考主键是需要的 Parameters array $data 待插入的数据,可以包括ext_data字段 $id 分表参考主键 Returns \PhalApi\long — 新插入纪录的主键值
update() update(\PhalApi\long $id, array $data) : \PhalApi\TRUE/FALSE 根据主键更新纪录 Parameters \PhalApi\long $id 主键 array $data 待更新的数据,可以包括ext_data字段 Returns \PhalApi\TRUE/FALSE
getTableName() getTableName( $id) 根据主键值返回对应的表名,注意分表的情况 默认表名为:[表前缀] + 全部小写的匹配表名 在以下场景下,需要重写此方法以指定表名 自动匹配的表名与实际表名不符 存在分表 Model类名不含有Model_ Parameters $id
getTableKey() getTableKey(string $table) : string 根据表名获取主键名 考虑到配置中的表主键不一定是id,所以这里将默认自动装配数据库配置并匹配对应的主键名 如果不希望因自动匹配所带来的性能问题,可以在每个实现子类手工返回对应的主键名 注意分表的情况 Parameters string $table 表名/分表名 Returns string — 主键名
getORM() getORM(\PhalApi\Model\string/int $id = NULL) : \PhalApi\Model\NotORM_Result 快速获取ORM实例,注意每次获取都是新的实例 Parameters \PhalApi\Model\string/int $id Returns \PhalApi\Model\NotORM_Result