使用map转换数据集的格式,其中指定字段不需要转换
xuexi 2024-12-04 17:55:40 发表在:PHP 查看数:561

在laravel中查询所有get()数据 $a = DB::table('cb_xunjian_xjcl')->select('djbw', 'status','images','remark')->get();其中djbw字段不需要转换,需要转换后的的格式为

[
        { status: 'normal', images: [], remark: '' },
        { status: 'normal', images: [], remark: '' },
      ],
转换代码
use Illuminate\Support\Facades\DB;

// 查询数据库
$results = DB::table('cb_xunjian_xjcl')
    ->select('djbw', 'status', 'images', 'remark')
    ->get();

// 使用 map 方法转换集合
$formattedResults = $results->map(function ($row) {
    // 构建新的数组,保留 djbw 字段的值,并转换其他字段
    return [
        'djbw' => $row->djbw, // 保留 djbw 字段的原值
        'status' => 'normal', // 将 status 字段设置为 'normal'
        'images' => json_decode($row->images, true) ?? [], // 尝试将 images 字段从 JSON 解码为数组,如果失败则使用空数组
        'remark' => $row->remark ?? '', // 如果 remark 字段不存在或为 null,则使用空字符串
    ];
})->toArray();

// 输出结果
print_r($formattedResults);
最近访问时间:2025-03-25 16:44:29
知识库:331条鸣谢:TAY  备案号:蜀ICP备2024090044号