Collections er en kraftig, flytende wrapper rundt arrays, som tilbyr dusinvis av kjeedbare metoder for elegant databehandling (map, filter, reduce, groupBy, osv.). Eloquent-spørresvar returneres som Collections, så du bruker dem konstant.
Collections er en kraftig, flytende wrapper rundt arrays, som tilbyr dusinvis av kjeedbare metoder for elegant databehandling (map, filter, reduce, groupBy, osv.). Eloquent-spørresvar returneres som Collections, så du bruker dem konstant.
$collection = collect([1, 2, 3, 4, 5]);
$result = $collection
->filter(fn($n) => $n % 2 === 0) // [2, 4]
->map(fn($n) => $n * 10) // [20, 40]
->values(); // re-index
$collection->sum(); // 15
$collection->avg(); // 3
$collection->max(); // 5
En Collection omslutter et array og tilbyr en flytende, kjeedbar API — langt mer uttrykksfull enn manuelle array-funksjoner, og kjeedbar for rene datarørledninger.
$users = User::all(); // returns a Collection of User models
$users->where('active', true) // filter
->sortBy('name')
->map(fn($u) => $u->name)
->take(10);
$users->pluck('email'); // extract one field → a collection of emails
$users->groupBy('role'); // group by a field → role => [users]
$users->keyBy('id'); // index by id
Fordi Eloquent returnerer Collections, kan du elegant transformere spørresvar i PHP — men for store datasett, foretrekk databasespørringer fremfor å hente alt og filtrere i PHP.
map, filter, reduce, each transform/iterate
pluck, keyBy, groupBy, partition restructure
sum, avg, min, max, count aggregate
sort, sortBy, reverse, unique order/dedup
first, last, take, skip, chunk slice
contains, every, some, where query
implode, flatten, collapse, merge combine
Collections er en viktig, gjennomgripende Laravel-funksjon — de gjør arbeid med arrays og data elegant og uttrykksfull, og siden Eloquent-spørresvar er Collections, bruker du dem konstant når du håndterer databasedata, noe som gjør dem til daglig, essensielt kunnskap.
Kjerneverdien er den flytende, kjeedbare API-en: i stedet for ordrik, imperativ array-manipulering, lar Collections deg uttrykke dataen transformasjoner (filtrering, mapping, gruppering, aggregering, sortering) som lesbare, sammensettbare metodekjeder — en stor produktivitets- og lesbarhetsfordel som gjenspeiler Laravels elegante stil.
Å forstå det rike metodsettet (map/filter/reduce for transformasjon, pluck/groupBy/keyBy for omstrukturering, aggregering og sorteringsmetoder) lar deg behandle data rent og er nødvendig for effektivt arbeid med Eloquent-resultat (som returnerer Collections du deretter transformerer).
Å kjenne Collections — deres flytende API, bredden av tilgjengelige metoder, og at Eloquent bruker dem — er grunnleggende for produktiv Laravel-utvikling, siden databehandling er konstant og Collections er hvordan Laravel gjør det elegant. (En viktig praktisk forbehold: for filtrering/sortering av store datasett, foretrekk å gjøre arbeidet i databasespørringen i stedet for å hente alle poster til en Collection og behandle i PHP — Collections er for databehandling i minnet, ikke en erstatning for effektive spørringer.) Flytende beherskelse av Collections er et særtrekk ved idiomatisk, produktiv Laravel-kode.