📅  最后修改于: 2023-12-03 15:32:34.071000             🧑  作者: Mango
在 Laravel 中, pluck
是一个非常有用的函数, 它允许您从集合或数组中获取另一个字段的列表。
我将在本文中介绍 pluck
函数的用法和示例。
$collection = collect([
['product_id' => 'prod-100', 'name' => 'Desk'],
['product_id' => 'prod-200', 'name' => 'Chair'],
]);
$plucked = $collection->pluck('name');
$plucked->all(); // ['Desk', 'Chair']
在上面的代码中, $plucked
变量将包含键为 name
的所有值。
$plucked = $collection->pluck('name', 'product_id');
$plucked->all(); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']
在上面的代码中, $plucked
变量将包含以 product_id
为键的所有 name
的值。
如果您想保留原数组中的键,但仍基于特定键获取其他值,可以使用 keyBy
函数:
$plucked = $collection->keyBy('product_id')->pluck('name');
$plucked->all(); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']
将键设置为 product_id
之后, $plucked
变量将包含以 product_id
为键的所有 name
的值。
$collection = collect([
['name' => 'Desk', 'specs' => ['length' => 200, 'width' => 100]],
['name' => 'Chair', 'specs' => ['length' => 150, 'width' => 150]],
]);
$plucked = $collection->pluck('specs.length');
$plucked->all(); // [200, 150]
在上面的代码中, $plucked
变量将包含每个元素的 specs.length
的值。
这是 pluck
函数的简单介绍和示例。
我们可以使用 pluck
函数从集合或数组中获取特定字段的值。
首先,我们可以指定要获取的字段,并使用默认键(原始数组中的键),或者可以指定新的键。
然后,我们可以使用 keyBy
函数将函数应用于特定键,从而使返回值包含指定字段和原始数组中的键。
最后,我们还可以使用嵌套数组来获取多维数组中的特定元素。
Happy coding!