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

Laravel中如何将查询的两列数据转为键值对数组?

解决方案:用Laravel集合的pluck()方法直接生成键值对数组

你完全可以利用Laravel Eloquent提供的pluck()方法一步到位实现这个需求,它专门用来从集合中提取指定字段并生成键值对结构,非常贴合你的场景。

修改你的查询代码如下:

// 直接生成键为id、值为location_url的集合,如需普通数组就加toArray()
$a = Customer::whereIn('created_by', $adminot)
    ->pluck('location_url', 'id')
    ->toArray();

细节说明:

  • pluck()的第一个参数是要作为值的字段(这里是location_url),第二个参数是要作为键的字段(这里是id)
  • 如果你不需要普通数组,而是保留Laravel集合对象,可以去掉->toArray(),集合本身也支持类似数组的访问方式
  • 原来的select('id', 'location_url')其实可以省略,因为pluck()会自动只查询这两个字段,不过保留也不会有问题

用你给出的示例数据测试的话,这段代码生成的$a就是:

[
    10 => 123.456,
    22 => 654.325,
    31 => 632.983 // 注:你示例里写的是逗号,应该是小数点格式吧?pluck会直接保留数据库返回的原数据格式
]

这样就完美实现了你想要的单个数组结构啦!

内容的提问来源于stack exchange,提问作者Hamza Qureshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:13:36