阅读(3853) (7)

Laravel 8 高阶消息传递

2021-07-01 16:46:27 更新

集合也提供对「高阶消息传递」的支持,即集合常见操作的快捷方式。支持高阶消息传递的集合方法有: average, avg, contains, each, every, filter, first, flatMap, groupBy, keyBy, map, max, min, partition, reject, skipUntil, skipWhile, some, sortBy, sortByDesc, sum, takeUntil, takeWhile and unique.

每个高阶消息都可以作为集合上的动态属性进行访问。 例如,each 高阶消息传递在集合中的每个对象上调用一个方法:

$users = User::where('votes', '>', 500)->get();

$users->each->markAsVip(); 

同样,我们可以使用 sum 高阶消息传递来收集 users 集合中的「投票」总数:

$users = User::where('group', 'Development')->get();

return $users->sum->votes;