在 Laravel v5.3.27 之后,collection 新增了一个 partition 方法,该方法可以根据传入的条件
将原来的 collection 分成两个 collection,比如:
$collection = collect([1, 2, 3, 4, 5, 6, 7]);
$items = $collection->partition(function ($item) {
return $item < 4;
});
这样会得到下面的结果:
Collection {#190 ▼
#items: array:2 [▼
0 => Collection {#183 ▼
#items: array:3 [▼
0 => 1
1 => 2
2 => 3
]
}
1 => Collection {#189 ▼
#items: array:4 [▼
3 => 4
4 => 5
5 => 6
6 => 7
]
}
]
}
结果返回的两个都是 collection 对象。