开启辅助访问
帐号登录 |立即注册

thinkphp中的模型获取器、修改器

 
模板获取器
获取器的作用是对模型实例的(原始)数据做出自动处理。一个获取器对应模型的一个特殊方法(该方法必须为public类型),方法命名规范为:
getFieldNameAttr
FieldName为数据表字段的驼峰转换

修改对应模板文件model中的User.php
例如,我们需要对状态值进行转换,可以使用:
<?php
class User extends Model
{
    public function getStatusAttr($value)
    {
        $status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核'];
        return $status[$value];
    }
}

修改对应控制器文件controller中的Index.php
数据表的字段会自动转换为驼峰法,一般status字段的值采用数值类型,我们可以通过获取器定义,自动转换为字符串描述。
$user = User::get(1);
echo $user->status; // 例如输出“正常”

模板修改器
setFieldNameAttr
和获取器相反,修改器的主要作用是对模型设置的数据对象值进行处理。
例如:
修改对应模板文件model中的User.php
<?php
class User extends Model
{
    public function setNameAttr($value)
    {
        return strtolower($value);
    }
}
如下代码实际保存到数据库中的时候会转为小写

修改对应控制器文件controller中的Index.php
$user = new User();
$user->name = 'THINKPHP';
$user->save();
echo $user->name; // thinkphp
以上就是本文的全部内容,感谢大家支持JScript之家——编程学习者社区!




回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。