Laravel中如何合并所有Research关联的Papers集合
合并所有Research关联的Papers集合
嘿,这问题我熟!咱们可以通过遍历每个Research对象,提取对应的Papers集合再合并到一起,轻松得到你想要的一维papers数组。从你的变量语法来看应该是用PHP,我给你两种常见场景的实现:
基础PHP数组场景
如果你的papers是普通PHP数组,直接用array_merge就能搞定:
// 先初始化一个空数组存所有papers $allPapers = []; // 遍历每个research foreach ($researches as $research) { // 先判断下有没有papers,避免空值报错 if (!empty($research->papers)) { $allPapers = array_merge($allPapers, $research->papers); } } // 打印看看结果,就是你要的格式啦 print_r($allPapers);
Laravel集合场景
如果你的项目是Laravel,papers大概率是Collection对象,那用集合的merge方法更顺手:
// 初始化一个空集合 $allPapers = collect(); foreach ($researches as $research) { // 确认是集合对象再合并 if ($research->papers instanceof \Illuminate\Support\Collection) { $allPapers = $allPapers->merge($research->papers); } } // 要转成数组的话,调用toArray()就行 $allPapersArray = $allPapers->toArray();
不管哪种方式,最终都会得到一个包含所有papers的一维集合/数组,完全符合你想要的输出格式~
内容的提问来源于stack exchange,提问作者marmahan
相关产品推荐
相关产品推荐

