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

Laravel 8 中如何将数据库查询结果转换为指定格式的关联数组

Laravel Eloquent集合转自定义关联数组实现方案

你查询返回的$dosen是Laravel Eloquent集合实例,可通过遍历集合自定义组装成你需要的关联数组格式,操作步骤如下:

  • 先预设好子数组的评分项顺序,保证每个子数组的下标对应含义一致
  • 遍历集合取出对应字段作为关联数组的键,按预设顺序填充评分值,无值的位置填null

实现代码示例

// 1. 预先定义子数组顺序对应的评分字段,顺序和你预期的子数组元素顺序完全匹配
$ratingItemFields = ['kriteria_1', 'kriteria_2', 'kriteria_3', 'kriteria_4', 'kriteria_5', 'kriteria_6'];
$rating = [];

// 2. 遍历查询得到的集合
foreach ($dosen as $criteriaItem) {
    // 自定义关联数组的键:示例是取关联的讲师名称作为键,如需用课程名替换成对应字段即可
    $arrayKey = $criteriaItem->lecturer->name;
    $itemValues = [];
    // 3. 按预设顺序填充值
    foreach ($ratingItemFields as $field) {
        $itemValues[] = $criteriaItem->$field ?? null;
    }
    $rating[$arrayKey] = $itemValues;
}

特殊场景适配

如果你的关联数组键同时包含用户、课程两种类型,只需要在取$arrayKey的时候判断当前数据的类型,取对应字段作为键即可。

内容的提问来源于stack exchange,提问作者sul kifli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:24:00