使用Laravel,我生成我的对象列表:
return Federation::lists('name','id');
所以,这会让我[1 => ' elt1',2 => ' elt2']等
我需要的是将其转换为:
[{value => 1, text => 'elt1'},{value => 2, text => 'elt2'}]
这是一种方法吗?
答案 0 :(得分:1)
您可以使用自定义toCustomArray
方法编写自己的集合类。
class YourCollection extends \Illuminate\Database\Eloquent\Collection {
public function toCustomArray() {
// Your own implementation goes here.
}
}
之后刷新缓存。现在你可以做到:
Federation::pluck('name', 'id')->toCustomArray();
<强> TL; DR 强>
自Laravel 5.2以来,不推荐使用lists
方法。相反,请使用pluck()
方法,之后可选择使用toArray()
。
答案 1 :(得分:0)
也许你可以通过集合进行映射并对其进行操作
$array = $collection->map(function($item){
return ["value" => $item->id, "text" => $item->name];
});
$json = json_encode($array);