首页> 实战笔录 >PHP开发笔记 >Laravel Laravel
$collection->transform()方法会遍历整个集合能结合use方法联合使用
作者:小萝卜 2024-08-16 【 Laravel 集合 】 浏览 456
简介$collection->transform()方法会遍历整个集合,并对集合中的每个元素都会调用其回调函数。集合中的元素将被替换为回调函数返回的值
$collection->transform()方法会遍历整个集合,并对集合中的每个元素都会调用其回调函数。集合中的元素将被替换为回调函数返回的值:
$collection = collect([1, 2, 3, 4, 5]);
$collection->transform(function ($item, $key) {
return $item * 2;
});
$collection->all();
// [2, 4, 6, 8, 10]
注意:与大多数集合方法不同,transform 会修改集合本身。如果你想创建新集合,可以使用 map 方法。
结合use( )使用:
//遍历原始数据并赋值
$pageData['items'] = collect($pageData['items'])->transform(function($v,$k)use($examine_data_key,$params,$company_data){
//构造审核人信息
if(!$v['examine_by']){
$examine_username = null;
$examine_nickname = null;
}elseif($params['showExamine']==1){
if($v->type == 1){
$examine_username = '平台';
$examine_nickname = '系统审核';
}else{
$examine_username = $examine_data_key->get($v->examine_by)['username'];
$examine_nickname = $examine_data_key->get($v->examine_by)['nickname'];
}
}else{
$examine_username = $examine_data_key->get($v->examine_by)['username'];
$examine_nickname = $examine_data_key->get($v->examine_by)['nickname'];
}
$v->examine_username = $examine_username;
$v->examine_nickname = $examine_nickname;
//构造申请的公司信息
$v->company_name = $company_data->get($v->company_id)->name;
return $v;
})->toArray();
很赞哦! (0)