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

Laravel如何将两个字段提取为一维普通数组?

实现方法

你可以通过集合的map+flatten或者flatMap方法来实现需求:

方法一:map + flatten

$scheduleArray = ScheduleModel::all()
    ->map(function ($item) {
        return [$item->starttime, $item->endtime];
    })
    ->flatten()
    ->toArray();
  • map遍历每个模型实例,将每个实例转换为包含starttime和endtime的二维数组片段
  • flatten把二维结构的集合转为一维
  • toArray()将集合最终转为普通PHP数组

方法二:flatMap(更简洁)

$scheduleArray = ScheduleModel::all()
    ->flatMap(function ($item) {
        return [$item->starttime, $item->endtime];
    })
    ->toArray();

flatMap会直接将每个回调返回的数组展开到集合中,省去额外的扁平化步骤。

为什么pluck不适用

pluck()方法的作用是提取单个字段的值集合,或者生成「键-值」形式的数组(如pluck('starttime', 'id')),无法同时提取两个字段并按starttime→endtime的顺序拼接成一维数组。

内容的提问来源于stack exchange,提问作者Farhida Arahid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:15:53