Laravel将单列结果作为字符串

时间:2016-06-17 13:47:18

标签: php arrays laravel laravel-5

您好我想知道是否可以将列值作为字符串。而不是数组中的数组:

当前查询:Number::limit('1000')->get(['number'])->toArray()

目前的结果是:

Array in array

优先结果:

String instead of array

1 个答案:

答案 0 :(得分:3)

toArray()来电之前,请添加pluck('number')

$result = Number::limit('1000')->get(['number'])->pluck('number')->toArray();

就是这样!这将仅从结果集合中提取number属性,并为您提供单级数组。

这样做的原因是因为您从get()获取了一个集合:

  

Eloquent返回的所有多结果集都是Illuminate \ Database \ Eloquent \ Collection对象的一个​​实例,包括通过get方法检索的结果或通过关系访问的结果。

pluck方法:

https://laravel.com/docs/5.1/collections#method-pluck

更新

@wunch在评论中提供了另一种更简洁的方法:

$result = Number::limit('1000')->lists('number')->toArray();