美文网首页编程语言-PHP
thinkphp6 关联查询中使用动态获取器

thinkphp6 关联查询中使用动态获取器

作者: 月圆星繁 | 来源:发表于2020-11-24 17:24 被阅读0次

    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();
    

    相关文章

      网友评论

        本文标题:thinkphp6 关联查询中使用动态获取器

        本文链接:https://www.haomeiwen.com/subject/odfwiktx.html