این وب سایت با تمامی محتویات و دامین به فروش می رسد. لطفا جهت خریداری از طریق بخش ارتباط با ما در تماس باشید

جستجو ...


هدف ما این است که شما، در بالاترین سطح برنامه نویسی و توسعه وب باشید.

ثبت نام کنید

یکی از ویژگی های خوب لاراول Laravel Collections است، با استفاده از این ویژگی میتوانیم روی مجموعه ها کوئری بزنیم و حتی خروجی ها را فیلتر کنیم، Laravel Collections دارای متدهای متعددی است که یکی از آنها متد when است، ما در این مقاله نحوه استفاده از آن را به شما یاد خواهیم داد.


با انتشار لاراول 5.4 متد when به laravel collections  اضافه شد، با استفاده از این متد می توانیم برای حلقه ها شرط ایجاد کنیم بدون آنکه شرط شکسته شود.

همانند سایر متدهای Laravel Collections این متد هم می تواند بسیاری از موارد استفاده را داشته باشد. اما نمونه ای که به ذهن من می رسد، دریافت یک query string parameter است که بر اساس آن مجموعه مورد نظر را فیلتر کنیم.

بیشتر بخوانید:

Laravel Collections و استفاده از متد tap

معرفی پکیج laravelcollective

 Laravel Collections و استفاده از متد when

برای نشان دادن این مثال، بیایید وانمود کنیم که لیستی از کاربران لیداوب را در زیر داریم:

$users = [
    ['name' => 'Eric Barnes', 'location' => 'USA', 'is_active' => 0],
    ['name' => 'Jack Fruh', 'location' => 'USA', 'is_active' => 0],
    ['name' => 'Jacob Bennett', 'location' => 'USA', 'is_active' => 1],
    ['name' => 'Michael Dyrynda', 'location' => 'AU', 'is_active' => 1],
];

اگر بخواهیم خروجی مجموعه را فیلتر کنیم، به طور معمول از روش معمولی (بدون استفاده از متد when ) استفاده می کنیم :

$inUsa = collect($hosts)->where('location', 'USA');

if (request('retired')) {
    $inUsa = $inUsa->filter(function($employee){
        return ! $employee['is_active'];
    });
}

اما با استفاده از متد when می توانید این فیلتر را در خود مجموعه اضافه کنید:

$inUsa = collect($hosts)
    ->where('location', 'USA')
    ->when(request('retired'), function($collection) {
        return $collection->reject(function($employee){
            return $employee['is_active'];
        });
    });

دوره آموزشی مرتبط

آموزش پایه لاراول، نسخه 5.5

 


 مطالب مرتبط  

در قسمت زیر مطالبی وجود دارند که با مقاله فعلی مرتبط هستند

متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

برترین های