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 协议》,转载必须注明作者和本文链接
API 资源不香吗?
简单的 我选择resource
麻烦的 用transform
transform的include还是挺好用的
(可惜trans没有命令行创建文件 手动创建好麻烦的)