thinkphp6模式model类操作数据库

直接通过navicate创建数据库yg_test,并在项目.env和config/database.php做好数据链接配置,注意yg_前缀的配置。

然后通过navicate新建yg_admin数据表,如下:

thinkphp6模式model类操作数据库_第1张图片

 1.model模型

大概可以这样看模型,一个模型其实就是一个数据表,通过操作model模型来达到操作数据表;model模型以首字母大写的驼峰命名方式,如:AdminModel模型对应的数据表是admin_model、Admin模型对应的是admin数据表

如果数据表有前缀的话可以在.evn文件和config/database.php中配置前缀,这样模型命名时就可以把前缀去掉,如:数据表yg_admin对应的模式就是Admin。

2.新建模型

在app/admin/model/下新建模型Admin.php,并输入以下代码:

 'int',
        'typename'      => 'text',
        'mobile'	    => 'int',
        'email'	        => 'varchar',
        'password'      => 'char',
        'realname'	    =>'varchar',
        'addtime'	    =>'datetime',
       ' updatetime'    =>	'datetime',
        'lastip'	    =>'varchar',
    ];
    
}

3.新建控制器

在app/admin/controller下新建控制器datatest.php,并输入以下代码:

 save([//利用save()方法向数据表添加数据,此方法只能向已有字段添加数据,一般返回
            'typename'      => '超级管理员',
            'mobile'	    => '13878298210',
            'email'	        => '483427581@qq',
            'password'      => '123456',
            'realname'	    =>'胡一可',
            'lastip'        =>'192.168.1.1'
        ]);
        return $admin;
    }
}

4.因为之前配置了强制路由,所以还要在route配置中配置路由

5.执行add方法时报错,是因为在yg_admin数据表中设计mobile字段时设置int类型,但是网上查了一下,说密码应该是varchar类型,所以改过来就可以了。thinkphp6模式model类操作数据库_第2张图片 thinkphp6模式model类操作数据库_第3张图片

thinkphp6模式model类操作数据库_第4张图片 因为我执行了两次,所以就增加了两条数据。

 6.静态方法create()方法添加数据

 '超级管理员',
            'mobile'	    => '13367521200',
            'email'	        => '483427581@qq',
            'password'      => '123456',
            'realname'	    =>'胡一兴',
            'lastip'        =>'192.168.1.1'
        ]);
        return $admin;
    }
}

thinkphp6模式model类操作数据库_第5张图片

thinkphp6模式model类操作数据库_第6张图片

 发现添加数据成功后数据表的里面addtime和updatetime并不会自动按当前时间增加,所以又百度了一下,以把addtime时间默认值改成:CURRENT_TIMESTAMP,updatetime字段的默认值改成: CURRENT_TIMESTAMP on UPDATE CURRENT_TIMESTAMP

thinkphp6模式model类操作数据库_第7张图片

thinkphp6模式model类操作数据库_第8张图片

至此,用数据库和模型model已经连接成功! 

你可能感兴趣的:(thinkphp,数据库,database)