Theme
Primary Color

تطبيق خطوة إختيارية بإستخدام Collection when

ال when بتضيف خطوة لسلسلة العمليات لما الشرط يتحقق من غير فصل السلسلة

تفعيل فلتر حسب اختيار

لما الشرط يكون true بنختار الأرقام الأكبر من عشرة

<?php

$filtered = collect([5, 15, 25])->when(true, fn ($items) => $items->filter(fn ($number) => $number > 10));
echo $filtered->values()->toJson();

النتيجة

[15,25]

تخطي الخطوة عند عدم تحقق الشرط

لو الشرط false المجموعة بتكمل من غير تنفيذ الدالة

<?php

$items = collect([5, 15])->when(false, fn ($items) => $items->take(1));
echo $items->toJson();

النتيجة

[5,15]
ملحوظة

لو الشرط قيمة ممكن تكون صفر وعاوز تعتبرها موجودة إستخدم مقارنة صريحة بدل الإعتماد على قيمتها المنطقية

laravel شرح