### 概述 * * * * * Record 模式的核心是:一个Record对象唯一对应数据库表中的一条记录,而对应关系依靠的是数据库表的主键值。 因此,ActiveRecord 模式要求数据库表必须要有主键(是不是自增无所谓)。当数据库表没有主键时,只能使用 DB来操作数据库。 ### 定义 * * * * * 所有模型需要集成Record完整实例如下: ~~~ class Device extends Record{ //设置表名 默认为类名小写驼峰转下滑线 public function getTable(){ return "magio_device"; } //设置字段类型 public function getFields(){ return [ 'id'=>'int', 'platform'=>'int', 'mac'=>'string', 'info'=>'json' ]; } //find缓存的 key public function cacheKeys(){ return ["device"]; } //下面将所有表里的字段列下来 public $id; public $platform; public $mac; public $info; } ~~~ **上面的类文件支持自动生成** 使用实例 ~~~ $device = new Device(); $device -> platform=1; $device -> mac='xxxxxxx'; $device -> info=['a'=>'a1','b'=>'b2']; $id = $device -> save(); echo $id; $device = Device::get(1); $device -> mac='jjjjjjj'; $device -> save(); $device -> delete(); $devices = Device::select()->where('id',"<","100")->findAll(); ~~~