doujinyi1267
2017-04-27 18:28
浏览 229
已采纳

在Laravel中将eloquent结果转换为关联数组

How can convert the result from eloquent to associative array. I need to select tow column and have one as key and another as value. Here is the closet I got, however the value is an array. I want it to be only "my_value" column.

$array = Post::select('my_key','my_value')->get()->keyBy('my_key')

图片转代码服务由CSDN问答提供 功能建议

如何将结果从eloquent转换为关联数组。 我需要选择拖曳列,并将一个作为键,另一个作为值。 这是我得到的壁橱,但值是一个数组。 我希望它只是“my_value”列。

  $ array = Post :: select('my_key','my_value') - > get() - >  keyBy('my_key')
   
 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doutan3192 2017-04-28 12:29
    已采纳

    You should use lists (Laravel 5.1) or pluck (Laravel 5.2+):

    $array = Post::lists('my_value', 'my_key');
    

    or

    $array = Post::pluck('my_value', 'my_key');
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • donglun2010 2017-04-28 02:54

    I found a way to do so, I'm not sure whether it's proper way to do this performance wise though...

    $array = Post::select('my_key','my_value')->get()->mapWithKeys(function ($item) {
                return [$item['my_key'] => $item['my_value']];
            })->toArray();
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题