0

我有一个 Eloquent 集合(已执行查询),我需要对这个数组中的两个项目做一些事情,所以我需要使用onlyorpluck方法,但它们不返回我需要的东西......

$orders = Order::with('parts')->paginate(50);

$orders[0]->parts->lists('name'); // Returns names
$orders[0]->parts->lists('custom_name'); // Returns custom names

$orders[0]->parts->only(['name', 'custom_name']); // Returns nothing
$orders[0]->parts->pluck(['name', 'custom_name']); // Returns no values

在此处输入图像描述

4

1 回答 1

1

only方法返回集合中具有指定键的项目。由于 Colllection 键不是您指定的那些列名,而是简单的递增数字,因此您不会通过使用only方法获得结果。

pluck方法检索给定键的所有集合值。

所以你必须使用

$orders[0]->parts->pluck('name', 'custom_name');

安装的

$orders[0]->parts->pluck(['name', 'custom_name']);

删除它们[ ],它应该可以正常工作。

于 2016-03-09T17:25:19.123 回答