W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Eloquent 返回的所有結果集都是 Illuminate\Database\Eloquent\Collection
對象的實例,包括通過 get
方法檢索或通過訪問關聯(lián)關系獲取到的結果。 Eloquent 的集合對象繼承了 Laravel 的 Base Collection,因此它自然也繼承了數十種能優(yōu)雅地處理 Eloquent 模型底層數組的方法。
而且,所有的集合都可以作為迭代器,你可以像遍歷簡單的 PHP 數組一樣來遍歷它們:
$users = App\Models\User::where('active', 1)->get();
foreach ($users as $user) {
echo $user->name;
}
不過,集合比數組更加強大,它通過更加直觀的接口暴露出可鏈式調用的 map /reduce 等操作。例如,讓我們移除所有未激活的用戶并收集剩余用戶的名字:
$users = App\Models\User::all();
$names = $users->reject(function ($user) {
return $user->active === false;
})
->map(function ($user) {
return $user->name;
});
注意:大多數 Eloquent 集合方法會返回新的 Eloquent 集合實例,但是
pluck
,keys
,zip
,collapse
,flatten
和flip
方法除外,它們會返回一個 Base Collection 實例。同樣,如果map
操作返回的集合不包括任何 Eloquent 模型,那么它會被自動轉換成集合基類。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: