使用map转换数据集的格式,其中指定字段不需要转换
在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