当前位置:编程学习 > thinkphp >>

ThinkPHP 之 ORM操作和关联模型

对象关系映射
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方法即可!

补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,