Laravel 获取数字?

Laravel fetch numeric?

如何获取 Laravel 中的数值数组?


这是我得到的:

 $companies = Company::select(['id','name'])->get()->toArray();

这给了我回报:

array:21 [
    0 => array:2 [
      "id" => 21
      "name" => "Cool Company"
    ]
    1 => array:2 [
      "id" => 4
      "name" => "Bacon Co"
    ]
    ....

但我想要:

array:21 [
    0 => array:2 [
      21,
      "Cool Company"
    ]
    1 => array:2 [
      4,
      "Bacon Co"
    ]
    ....

如果你需要这个精确的输出,你可以做

$companies = App\Company::pluck('name', 'id')
    ->map(function ($name, $id) { 
        return [$id, $name]; 
    })
    ->values()
    ->toArray();

输出:

=> [
     [
       4,
       "Bacon Co",
     ],
     [
       21,
       "Cool Company",
     ],
   ]

不确定你之后用它做什么,但也许 pluck() 的输出就足够了

$companies = App\Company::pluck('name', 'id')->toArray();
=> [
     4 => "Bacon Co",
     21 => "Cool Company",
   ]