ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> ### 1、模型基类 Core\Model\Model 继承自Think\Model , 因此tp默认模型的方法和属性都可使用 > ### 2、使用模型的前提是使用 D() 实例化模型而不是M() , M() 可以看作是实例化的Model基类并传入表名 , 本质并没有实例化模型 ***** > ### 不管是查询还是其他操作 , where条件 、 或者其他的操作 , 使用数组方式或者链式操作 > ### 一是因为代码整洁 便于组装条件和封装 > ### 二是不需要手动绑定参数 防止sql注入 > ### 三是使用模型操作数据远比使用sql原生语句操作数据方便实用 ***** > ### 使用模型添加数据时 , 正确的步骤应该是: ``` 1、验证器验证 2、调用模型createData()创建数据(这个过程非法字段的过滤 、 调用修改器修改字段) 3、调用add()方法完成添加操作 , 如果添加失败会抛出异常 , 不会执行下面的步骤。这个过程不需要手动判断,程序自动完成。 4、调用output输出或执行其他操作 ``` ***** > ### 使用模型编辑数据时 , 正确的步骤应该是(简单逻辑 复杂的除外): ``` 1、验证器验证 2、获取请求参数 组装更新条件 3、调用模型createData()创建数据(这个过程非法字段的过滤 、 调用修改器修改字段) 4、调用save()方法完成编辑操作 , 如果编辑失败会抛出异常 , 不会执行下面的步骤。这个过程不需要手动判断,程序自动完成。 4、调用output输出或执行其他操作 ```