https://www.kancloud.cn/manual/thinkphp6_0/1037588
以官网的方式在模型中定义获取器:
namespace app\admin\model;
use think\Model;
class GoodsStock extends Model
{
public function getSalePriceAttr($value)
{
return $value*0.01;
}
}
以上获取器在关联查询中不生效,使用下面的动态获取器可以实现:
$info['goods_info'] = $barcode
->field('b.id bid,b.*,s.*')
->alias('b')
->leftJoin('goods_stock s', 's.sku = b.sku' )
->where("s.goods_id", "=", $params['id'])
->where("s.gas_id", '=', $params['gasId'])
->withAttr('sale_price', function($value) { // 动态获取器
return $value*0.01;
})
->withAttr('vip_price', function($value) { // 动态获取器
return $value*0.01;
})
->withAttr('purchase_price', function($value) { // 动态获取器
return $value*0.01;
})
->withAttr('market_price', function($value) { // 动态获取器
return $value*0.01;
})
->select();
网友评论