You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何将分类与子分类查询结果合并为一维数组?

解决方案

你需要调整循环内的逻辑,不要将分类名和子分类数组作为嵌套数组存入,而是把分类名单独加入结果数组,再将子分类的一维数组合并到结果数组中,修改后的代码如下:

public function searchItem(){
    $categories = ServiceCategory::with('subCategories')->get();

    $categoryArray = [];

    foreach ($categories as $category) {
        // 先添加当前分类名称
        $categoryArray[] = $category->category;
        // 合并子分类数组到结果数组
        $categoryArray = array_merge($categoryArray, $category->subCategories->pluck('subcategory')->toArray());
    }
    return $categoryArray;
}

代码说明

  • 先将当前分类的名称直接追加到$categoryArray中
  • 使用array_merge()函数把子分类的一维数组和$categoryArray合并,让所有元素处于同一层级
  • 若存在多个主分类,每个主分类的名称及其下子分类会按顺序依次存入一维数组

内容的提问来源于stack exchange,提问作者Hotdot Cyber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 14:25:26