为了账号安全,请及时绑定邮箱和手机立即绑定

laravel怎么往一个对象里面添加一个键值对?

laravel怎么往一个对象里面添加一个键值对?

互换的青春 2019-05-25 14:05:21
laravel怎么往一个对象里面添加一个值?demo如下:要给每条article记录添加一个键值对"tags"=>["foo","bar"],ArticlesController.phppublicfunctionindex(){$articles=user()->articles;dd($articles);//这是一个collection//遍历上面的collection,给每条记录添加下面这个键值对://"tags"=>["foo","bar"]$multiplied=$articles->map(function($item,$key){dd($item);//结果在下面//这里应该怎么写?});$newArticles=$multiplied->all();dd($newArticles);returnview('articles',compact('newArticles'));}dd($item);的结果:Article{#498▼#fillable:array:2[▶]#casts:array:1[▶]#connection:"mysql"#table:null#primaryKey:"id"#keyType:"int"+incrementing:true#with:[]#perPage:15+exists:true+wasRecentlyCreated:false#attributes:array:6[▼"id"=>1"title"=>"hello""content"=>"helloworld""user_id"=>2"created_at"=>"2017-07-2315:34:52""updated_at"=>"2017-07-2315:34:55"]#original:array:6[▶]#dates:[]#dateFormat:null#appends:[]#events:[]#observables:[]#relations:[]#touches:[]+timestamps:true#hidden:[]#visible:[]#guarded:array:1[▶]}问题:控制器中index()方法map里面的代码应该怎样写?
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

dd($item);//结果在下面
//这里应该怎么写?
$item->tags=['foo','bar'];
return$item;
                            
查看完整回答
反对 回复 2019-05-25
?
12345678_0001

TA贡献1802条经验 获得超5个赞

Collection的map函数原理:
funcitonmap(Closure$closure){
$data=[];
foreach($this->itemas$v){//$item可以看作楼主实例中对象的属性
$data[]=$closure($v);
}
return$data;
}
$collection->map(function($item){
$item->tags=['foo','bar'];
return$item;
})
说明:
map函数接受闭包,通过foreach循环中调用闭包,情形如下:
#funcitonmap(Closure$closure){
#$data=[];
#foreach($this->itemas$v){//$item可以看作楼主实例中对象的属性
$data[]=(function(){
$item->tags=['foo','bar'];return$item;
})($v);
#}
#return$data;
#}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 1842 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信