• 技术文章 >php框架 >ThinkPHP

    详解Tp5中如何定义获取器和修改器

    藏色散人藏色散人2021-09-03 09:02:21转载164
    thinkphp框架教程栏目将给大家介绍详解thinkphp5中如何定义获取器和修改器 ,希望对需要的朋友有所帮助!

    一 获取器:获取器的作用是在获取数据的字段值后自动进行处理,其实就是将在数据库中拿到的数据变成我们想要的到的另外一种形式,

    然后获取器就是从中进行转换的工具

    获取器通常要定义在model中,那个表需要获取器就定义在相应的表的model中

    <?php
    namespace app\index\model;
    
    use think\Model;
    
    class User extends Model{
    
        设置获取器
        public function getSexAttr($value){
    
            $sex=[
                0=>'女',
                1=>'男'
            ];
    
            return $sex[$value];
        }
        设置修改器
        public function setSexAttr($value){
            $sex=[
                '男'=>1,
                '女'=>0
            ];
    
            return $sex[$value];
    
        }   
    }

    getSexAttr驼峰命名法是固定的定义格式,中间的Sex一般是我们数据库中的字段名称,方法中定义的意思是,如果数据库中sex字段=0,那么像回事为'女',如果数据库中sex字段=1,那么显示的值为'男'

    在controller中我们使用User模型进行数据库查询操作

    $user = User::get(1);
    echo $user->sex; // 例如输出“男”

    setSexAttr驼峰命名法定义了修改器,同同样的Sex为字段名称,在我们修改或者插入新的数据时,数据会通过这个方法进行数据的转换,
    上边的方法中,我们在向数据库sex字段插入字段值='男'时,实际上数据库中存的数据是'1'

    $user=new User();
             $user->name='名字';
            $user->sex='男';
            $user->age=20;
            $res= $user->save();

    以上就是详解Tp5中如何定义获取器和修改器的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:cnblogs,如有侵犯,请联系admin@php.cn删除
    专题推荐:Thinkphp5
    上一篇:thinkphp5与laravel的区别是什么 下一篇:php onethink验证码不显示怎么办
    线上培训班

    相关文章推荐

    • ThinkPHP5把动态链接库付给变量而导致的执行多条sql数据合并问题• 如何使用thinkphp5.1的数组查询对象• 简析thinkphp5.0域名如何绑定不同模块• thinkphp5整合phpsocketio过程亲自踩的坑!

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网