Laravel 重现 eloquent 模型给出的数组

Laravel Reproduce an array given by the eloquent model

我是 laravel 的新人。现在我正在努力研究如何重新声明 eloquent 模型给出的数组。

PHP代码

$data = Commission::select(['uploads_id'])->where([
            'affiliate_code' => $id
        ])->get()->toArray();
        var_dump($data);

var_dump输出

array(3) {
  [0]=>
  array(1) {
    ["uploads_id"]=>
    string(2) "24"
  }
  [1]=>
  array(1) {
    ["uploads_id"]=>
    string(2) "26"
  }
  [2]=>
  array(1) {
    ["uploads_id"]=>
    string(2) "27"
  }
}

我希望 $data 像这样重新声明。

$data = [24 , 25 , 26]

有没有办法或不同的方法?

当您在 Laravel 生成器对象上调用 get() 方法时,它会 return 一个集合对象给您。您可以使用很多好帮手,而不是用 php 数组弄脏您的手。您可以找到参考资料 here.

在您的场景中,这可以通过

来完成
Commission::select(['uploads_id'])->where([
    'affiliate_id' => $id
])->get()->pluck('uploads_id');

Pluck() 是一种集合方法,可以找到它的文档 here。请记住使用 ->all() 或 ->toArray() 将其转换为 php 数组。熟悉 Laravel.

中的 Collection 很有用

祝你好运!

你可以试试这个。

$data = Commission::select(['uploads_id'])
            ->where(['affiliate_code' => $id])
            ->lists('uploads_id')
            ->toArray();


print_r($data);