Laravel Transform 转换器

abstract class Transform
{
    public function transformCollection(array $items,$transform='transform')
    {
        return array_map([$this, $transform], $items);
    }

    public abstract function transform($items);
}

继承

class Demo extends Transform
{
    public function transform($items)
    {
        $mobel_user = new Users;
        $user = $mobel_user->find($items['uid']);
        return [
            'img'=>$user['img'],
            'nickname' => $user['nickname'],
            'demo_name' => $items['demo_name']
        ];
    }
}

实例化

$Demo = new Demo();
$items = $Demo->transformCollection($items);

转换前数据

before=[
    ["id"=>1,"demo_name"=>"baba"],
    ["id"=>2,"demo_name"=>"mama"]
]

转换后

after=[

["img"=>"baba_img","demo_name"=>"baba","nick_name"=>"baba_nick_name"],

["img"=>"mama_img","demo_name"=>"mama","nick_name"=>"mama_nick_name"]
]

当然user表和demo表是需要有关联的。

这个转换器的好用是不需要用foreach。
缺点是不能添加多个参数。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

API 资源不香吗?

4年前 评论

简单的 我选择resource

麻烦的 用transform

transform的include还是挺好用的
(可惜trans没有命令行创建文件 手动创建好麻烦的)

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!