如何解决在Laravel中将集合转换为I = ID的数组
我是初学者PHP开发人员。 我的阵列有小问题。我在我的项目Laravel 7中使用 我有以下代码:
$items = collect($discount->products->toArray());
结果是我
Illuminate\Support\Collection {#1783 ▼
#items: array:2 [▼
0 => array:17 [▼
"id" => 1
"product_category_id" => 5
"image_id" => null
"vat_type_id" => 1
"name" => "Produkt 1"
"slug" => "produkt-1"
"lead" => "<p>fewferfer</p>"
"description" => "<p> </p>"
"price" => "123.00"
"loyalty_program_points_price" => 2
"min_student_level" => null
"marked_as_available_at" => "2020-09-30T11:45:51.000000Z"
"deactivated_at" => null
"created_at" => "2020-09-30T11:45:23.000000Z"
"updated_at" => "2020-09-30T11:45:51.000000Z"
"deleted_at" => null
"pivot" => array:3 [▶]
]
1 => array:17 [▼
"id" => 2
"product_category_id" => 5
"image_id" => null
"vat_type_id" => 1
"name" => "Produkt 2"
"slug" => "produkt-2"
"lead" => "<p> </p>"
"description" => "<p>fergfer</p>"
"price" => "21.00"
"loyalty_program_points_price" => 3
"min_student_level" => null
"marked_as_available_at" => "2020-09-30T11:45:38.000000Z"
"deactivated_at" => null
"created_at" => "2020-09-30T11:45:38.000000Z"
"updated_at" => "2020-09-30T11:45:38.000000Z"
"deleted_at" => null
"pivot" => array:3 [▶]
]
]
}
我需要将其转换为以下结果:
Array{
1 => 1 (id)
2 => (id)
}
我该怎么做? 我只需要ID值的数组
解决方法
集合具有pluck method,可让您获取特定键的所有值。要获取所有ID,您只需要做
$ids = $items->pluck('id')->all();
如果您希望它们也具有与id相同的密钥,请将其作为第二个参数传递
$ids = $items->pluck('id','id')->all();
请注意,如果产品是一种关系,那么它已经是一个集合。您无需将其转换为数组,然后再转换为集合:
$product_ids = $discount->products->pluck('id')->all();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。