【问题标题】:how to get collection results as array with ids如何将收集结果作为具有 ids 的数组获取
【发布时间】:2016-02-06 16:32:19
【问题描述】:

它应该很简单,但我错过了一些东西, 让我们说这个简单的雄辩:

Post::select('id')->take(5)->get();

我想得到带有结果 id 的简单数组,所以它看起来像这样:

[1,2,3,4,5]

但我得到的是这样的:

[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"}]

flatten() 不工作,我得到相同的结果:

Post::select('id')->take(5)->get()->flatten();

http://laravel.com/docs/master/collections#method-flatten

扁平化 方法将多维集合扁平化为单个 维度:

我错过了什么?我记得有一种短线 laravel 方法可以在不遍历数组并创建新数组的情况下获得此结果

【问题讨论】:

    标签: php laravel laravel-5 eloquent laravel-collection


    【解决方案1】:

    刚刚知道了,它的 lists() 具有魔力,所以答案是:

    Post::select('id')->take(5)->lists('id');
    

    更新: 从 laravel 5.2 开始,list() 变为 deprecated

    Collection、查询构建器和 Eloquent 查询上的 lists 方法 构建器对象已重命名为采摘。方法签名 保持不变。

    新方法名称是 pluck ,其工作方式相同:

    Post::select('id')->take(5)->pluck('id');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2010-12-02
      相关资源
      最近更新 更多