使用Record

概述


Record 模式的核心是:一个Record对象唯一对应数据库表中的一条记录,而对应关系依靠的是数据库表的主键值。

因此,ActiveRecord 模式要求数据库表必须要有主键(是不是自增无所谓)。当数据库表没有主键时,只能使用 DB来操作数据库。

定义


所有模型需要集成Record完整实例如下:

  1. class Device extends Record{
  2. //设置表名 默认为类名小写驼峰转下滑线
  3. public function getTable(){
  4. return "magio_device";
  5. }
  6. //设置字段类型
  7. public function getFields(){
  8. return [
  9. 'id'=>'int',
  10. 'platform'=>'int',
  11. 'mac'=>'string',
  12. 'info'=>'json'
  13. ];
  14. }
  15. //find缓存的 key
  16. public function cacheKeys(){
  17. return ["device"];
  18. }
  19. //下面将所有表里的字段列下来
  20. public $id;
  21. public $platform;
  22. public $mac;
  23. public $info;
  24. }

上面的类文件支持自动生成

使用实例

  1. $device = new Device();
  2. $device -> platform=1;
  3. $device -> mac='xxxxxxx';
  4. $device -> info=['a'=>'a1','b'=>'b2'];
  5. $id = $device -> save();
  6. echo $id;
  7. $device = Device::get(1);
  8. $device -> mac='jjjjjjj';
  9. $device -> save();
  10. $device -> delete();
  11. $devices = Device::select()->where('id',"<","100")->findAll();

上一篇:Record模型   下一篇:增删改