Collection ساختاری برای نگهداری و پردازش مجموعهای از دادههاست. در Laravel، Collection متدهایی مانند map، filter، reduce و groupBy را برای کار زنجیرهای با آرایهها و دادهها فراهم میکند.
Collection با آرایه PHP یکسان نیست، مجموعهای از عملیات سطح بالاتر در اختیار برنامهنویس میگذارد. برای دادههای بسیار بزرگ باید مصرف حافظه و تفاوت Collection معمولی با Lazy Collection را در نظر گرفت.
نکتهای که در پروژهها اهمیت دارد
Collection برای map و filter بسیار خواناست، اما اگر یک میلیون ردیف دیتابیس را یکباره به حافظه بیاوریم، حافظه زیادی مصرف میشود. در چنین وضعیتی Lazy Collection یا Query مناسبتر است.
کالکشن و Lazy Collection
در لاراول، Collection معمولی داده را در حافظه نگه میدارد. اگر میلیونها رکورد نیازمند پردازش باشند، cursor یا Lazy Collection میتواند مصرف حافظه را محدود کند. بااینحال تغییر دادن آرایه به کالکشن بهتنهایی Queryهای دیتابیس را بهینه نمیکند.