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 回答
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;#}
添加回答
举报
0/150
提交
取消