我有一个Eloquent集合(已经执行过查询),我需要对这个数组中的两个项做一些事情,所以我需要使用only
或pluck
方法,但是它们不会返回我需要的东西......
$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
答案 0 :(得分:1)
only
方法使用指定的键返回集合中的项。由于Colllection键不是您指定的列名,而是简单的递增数,因此您不会使用only
方法获得结果。
pluck
方法检索给定键的所有集合值。
所以你必须使用
$orders[0]->parts->pluck('name', 'custom_name');
insted of
$orders[0]->parts->pluck(['name', 'custom_name']);
删除那些[ ]
,它应该可以正常工作。