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下的修改器方便了我们的使用,大家可以尝试下进行数据转换。