استفاده از Laravel Pluck برای استخراج مقادیر خاص

کالکشن یا مجموعه لاراول بهترین قسمت از چارچوب لاراول هستند که من در طول توسعه لاراول ازش لذت بردم . متد Laravel Pluck بخشی از مجموعه های Laravel هستش که ممکنه اغلب اوقات با شرایطی روبرو بشید که مجبور باشید مقدار خاصی رو از یک کالکشن استخراج کنید. توی این پست ، من به شما یاد میدم که چطور میتونید از متد pluck() در کالکشن های های لاراول برای استخراج فیلد های خاص استفاده کنید.

مثال زیر رو در نظر بگیرید ، لیستی از کاربران با مشخصات مختلف در یک آرایه جمع آوری شده :

$attendees = collect([
    ['name' => 'Tome Heo', 'email' => 'tom@heo.com', 'city' => 'London'],
    ['name' => 'Jhon Deo', 'email' => 'jhon@deo.com', 'city' => 'New York'],
    ['name' => 'Tracey Martin', 'email' => 'tracey@martin.com', 'city' => 'Cape Town'],
    ['name' => 'Angela Sharp', 'email' => 'angela@sharp.com', 'city' => 'Tokyo'],
    ['name' => 'Zayed Bin Masood', 'email' => 'zayad@masood.com', 'city' => 'Dubai'],
]);

خب ، الان میخوایم تنها اسم هر کاربر رو استخراج کنیم و در نهایت یک آرایه شامل اسم ها تو خروجی داشته باشیم . فقط کافیه ایندکس name رو به پلاک پاس بدیم به صورت زیر

$names = $attendees->pluck('name')
// ['Tome Heo', 'Jhon Deo', 'Tracey Martin', 'Angela Sharp', 'Zayed Bin Masood'];

همچنین میتونیم از از متد pluck() برای آبجکت های کالکشن ها استفاده کنیم

$users = User::all();
$usernames = $users->pluck('username');

همچنین میتونید از متد pluck() برای ابجکت های تودرتو در روابط های لاراول یا laravel relationships استفاده کنید .

$users = User::with('profile')->get();
$bio = $users->pluck('profile.bio'); // Get all bio of all users profile

خب امید وارم به کارتون بیاد چون واقعا به کار من اومد و تصمیم گرفتم یک پست راجع بهش توی دیتا دیزاین بنویسم 😉

موفق و شاد باشید

0

مدیر کل

لیسانس حسابداری هستم ولی به دلیل علاقه ام به برنامه نویسی چندین ساله تو این زمینه فعالیت میکنم .


در شبکه های اجتماعی
نظرات کاربران

دیدگاهتان را بنویسید

شما میتوانید برای وارد کردن لینک و کدهایHTML از تگ های زیر استفاده کنید : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>