欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

ThinkPHP 之 ORM操作和关联模型

程序员文章站 2022-04-21 08:17:59
...
对象关系映射
M方法快捷实例化模型后 对象直接调用字段并赋值,可直接调用add方法进行新增,直接调用find方法参数为主键值即可获得当条数据,直接调用select方法参数为众多主键值即可获取每条符合主键值的条目数据,直接调用find方法参数为主键值并直接调用其字段更改字段值并直接调用save方法即可完成一条数据的更新,直接调用delete方法参数为主键值即可删除当条数据记录。


!!!!!!!!!明日任务 将goods的增删改查用动态记录orm完成一遍!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


验证

create方法创建的数据对象是保存在内存中,并没有实际写入到数据库中,直到使用add或save方法才会真正写入数据库。create方法如果没有传值,默认取$_POST数据,如果用户提交标量内容,含有可执行htl代码应手工过滤。非法处理可用 htmlspecialchars方法
data方法也是创建数据对象的方法 ,也会支持传入数组和对象,使用data方法创建的数据对象不会进行自动验证和过滤操作。同样也会自动过滤非法的数据类型和不存在的字符串。
create()函数工作流程:获取数据源,验证数据源的合法性,检查字段映射,判断提交状态新增或者是编辑,数据自动验证,表单令牌验证,表单数据赋值,数据自动生成,生成数据对象;
调用自定义模型 在自定义模型中定义 protected $_validate = array();数组就是验证条件
array()里的array(‘验证的字段名’,‘验证规则’,‘提示’,条件 0为字段存在时验证,1为必须验证,2为数据存在时验证!!!!!!!这里还需要在研究!!只能留到明日了!!!!!!!!!,‘附加条件’,数据执行状态1为增加2为更新 3为全部 一般3默认)是具体的条件,具体的 有字段唯一性 长度 范围 不为空 密码格式验证 判断相同验证 回调函数验证


自动完成
同样在自定义模型端创建 保护 变量 $_auto = array();
同样 array里面 还有具体的 array('填充字段',‘填充规则’,填充时间1为增加2为更新3为全部,‘附加规则 function callback field string默认’)


而这两项都会在create方法执行中的数据验证进行验证!


另外 除了在自定义数据模型端进行 保护变量赋值 还可以在活动段创建数据规则 并调用模型对象的 setProperty方法 给_validate _auto 分别赋上之前创建的数据规则 最后执行create方法即可!