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

时间:2017-04-27 18:28:54

标签: php laravel laravel-5 laravel-5.3

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

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

2 个答案:

答案 0 :(得分:8)

你应该使用lists(Laravel 5.1)或pluck(Laravel 5.2 +):

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

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

答案 1 :(得分:1)

我找到了这样做的方法,我不确定这是否是正确的表现方式,但是......

$array = Post::select('my_key','my_value')->get()->mapWithKeys(function ($item) {
            return [$item['my_key'] => $item['my_value']];
        })->toArray();