• 使用Record
    • 概述
    • 定义

    使用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模型   下一篇:增删改