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

Laravel 8 如何向模型查询返回的结果追加额外自定义字段

Laravel 8 给分页模型数据集追加自定义计算字段的实现方法

Laravel 中 paginate() 方法返回的是 LengthAwarePaginator 分页实例,其包含的模型数据集本身支持集合操作,你可以直接通过 each() 方法遍历每条记录追加自定义字段,不会丢失原有分页信息。


完整实现代码

// 原有分页查询逻辑
$marketingteam = marketingteam::orderby('id','desc')->paginate(15);

// 遍历数据集追加自定义计算字段
$marketingteam->each(function ($item) {
    // 此处替换为你实际的业务计算逻辑即可
    $item->targetachived = '你的计算结果'; 
    $item->bonus = '你的计算结果';
});

// 直接传递到视图,原有分页功能不受影响
return view('你的视图路径', ['marketingteams' => $marketingteam]);

注意说明

  • 遍历过程中直接给模型实例动态绑定属性即可,Blade 视图中可以直接通过 $item->targetachived、$item->bonus 读取对应值
  • 不要使用 map() 方法处理后直接覆盖分页实例,否则会丢失分页元数据(总页数、当前页、总条数等信息)
  • 如果你需要将数据转为数组/JSON返回(比如接口场景),可以在遍历时追加append配置,保证自定义字段可被序列化:
$marketingteam->each(function ($item) {
    $item->targetachived = '计算结果';
    $item->bonus = '计算结果';
    // 追加到序列化可见字段
    $item->setAppends(array_merge($item->getAppends(), ['targetachived', 'bonus']));
});

内容的提问来源于stack exchange,提问作者Ajith jojo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:36:03