Collection cung cấp các method mạnh mẽ để làm việc với mảng dữ liệu. Eloquent query trả về collection: $users = User::all(); rồi $users->map(fn($u) => $u->email)->unique()->sort(). Các method quan trọng: map() (biến đổi), filter() (lọc), each() (lặp), pluck() (lấy cột), groupBy() (nhóm), chunk() (chia nhỏ), diff() (so sánh), merge() (gộp).
Ví dụ: User::all()->where("active", true)->pluck("email")->all() lấy email user đang hoạt động. Lưu ý: Collection->where() hoạt động in-memory (filter sau khi load toàn bộ), khác với query builder User::where("active", true)->pluck("email")->all() filter ở DB. Với dataset lớn, luôn ưu tiên query builder để tránh load cả bảng vào bộ nhớ.
Collections provide powerful methods for working with arrays. Eloquent queries return collections: $users = User::all(); then $users->map(fn($u) => $u->email)->unique()->sort(). Key methods: map() (transform), filter() (select matching), each() (iterate), pluck() (extract column), groupBy() (group items), chunk() (split into groups), diff() (compare), merge() (combine).
Example: User::all()->where("active", true)->pluck("email")->all() gets active user emails. Important: Collection->where() filters in-memory after loading all records, unlike the query builder User::where("active", true)->pluck("email")->all() which filters at the database. For large datasets, always prefer query builder to avoid loading entire tables into memory.