Bad Practice Example

class MaterialController
{
    public function index($materialTypeFilter = 0)
    {
        $materials = Material::all()->where('type', materialTypeFilter);
    }
}

What To Do Instead

class MaterialController
{
    public function index($materialTypeFilter = 0)
    {
        $materials = Material::where('type', $materialTypeFilter)->get();
    }
}

جلب جميع البيانات من قاعدة البيانات ومن ثم عمل فلتره عليهاـ يؤذي إلى إستهلاك عالية للذاكرة، تخيل إن لدينا ألاف السجلات، فإنه يتم وضعها في الذاكرة، ومن ثم عمل فتره عليها، لكن يجب إستخدام database engine وإرجاع فقط البيانات التي نريدها ( البيانات المفلتره فقط).