TP5修改器的使用

浏览1007

TP5修改器方法增加第三个参数传入关联数据,修改器的作用是可以在数据赋值的时候自动进行转换处理,例如:

class User extends Model 
{
    public function setNameAttr($value)
    {
        return strtolower($value);
    }
}

使用说明,例如我们在做微信小程序的时候,在调用网站的数据,数据库查询出来的是不带域名的情况,如果是跨域的情况,这时我们的图片链接,是要经过处理,这是就可以用到tp5带的“修改器”功能。

例如我们有一张数据表名称为tp_goods

表中有字段及数据

id   主键id

goods_name  商品名称

goods_thumb  商品缩略图

addtime   时间


(1)首先,我们在模型下创件一个文件,Goods.php(如果表明是不是这种情况,例如:tp_wx_goods,则创建 WxGoods)。

(2)往模型文件添加如下代码

<?php
namespace app\wxapi\model;
use think\Model;
class Goods extends model
{
	public function getGoodsThumbAttr($value){  //图片路径转换
		return 'http://www.tpxhm.com'.$value;
	}
	public function getAddtimeAttr($value){  //时间转换
		return date("Y-m-d H:i",$addtime);
	}
}

(3)控制器下采用模型的方式使用

<?php
namespace app\wxapi\controller;
use think\Db;
class Index
{
     public function getGoods(){
        $resIco=model('goods')->order('sort asc')->select();
        return json(['code'=>200,'resIco'=>$resIco]);
    }
}

tp5下的修改器方便了我们的使用,大家可以尝试下进行数据转换。


  • 暂无任何回答