Laravel json转换为数组只有数字PHP


Laravel json convert to array only number PHP

我有代码:

return $getId = Permission::select('id')->get();

这个代码返回给我:

[{"id":1},{"id":2},{"id":3},{"id":4}]

我想以以下形式查询返回的记录:

["1","2","3","4"]

我该怎么做?我试图使用json_decode,但它不工作,我也试图使用foreach循环,但结果是一样的。我这样做是因为我想使用array_diff比较两个表,但我仍然有错误:

array_diff():参数#1不是数组

Argument 1为变量$getId

您想使用pluck()toArray()方法:

return $getId = Permission::pluck('id')->toArray();

您可以将结果封装在Collection中,并使用pluck方法:

$permissions = Permission::select('id')->get();
$ids = collect($permissions)->pluck('id')->all(); // all() to array

更多关于Laravel collection的信息请点击这里