متد map در collectin لاراول

متد map در collectin لاراول برای ایجاد تغییرات در جواب یک کوئری بسیار عملکرد بالایی دارد در واقع این متد با ایجاد حلقه و با استفاده از تابع callback تغییرات شما را به جواب کوئری اضافه یا کم می کند

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

280

پرسش و پاسخ

0
متد map در collectin لاراول

کاربرد متد map: فرض کنید شما قرار است برای یک برنامه نویس سمت کلاینت، یک کوئری درخواستی را پاسخ دهید که این کوئری باید دارای یک متد برای مشخص کردن یک عملیات خاص باشد مثلا : قرار است یک فیلد با نام flag به هر ردیف از کوئری خود اضافه کنید. به مثال ذیل دقت کنید

$query=Character::all(); // واکشی اطلاعات جدول یک جدول
$data=$query->map(function ($query){
         $query['flag']=1; // در این قسمت می توانید کدهای خود را وارد کنید
         return $query; 
});

یک مثال همراه با ارسال یک مقدار برای متد map

$query=Character::all(); // واکشی اطلاعات جدول یک جدول

$id=1;
$data=$query->map(function ($query) use ($id){

         if($id==$query->id) // بررسی شرط

         {
            $query['flag']=1;

         }else

         {

            $query['flag']=1;

         }
    return $query; 
});

مثال از سایت اصلی لاراول

$collection = collect([1, 2, 3, 4, 5]);

$multiplied = $collection->map(function ($item, $key) {
    return $item * 2;      });

$multiplied->all();

// [2, 4, 6, 8, 10]