استفاده از pluck برای استخراج داده‌های خاص در لاراول

ترجمه و تالیف : رضا جمال زاده
تاریخ انتشار : 26 مهر 98
خواندن در 55 ثانیه
دسته بندی ها : لاراول

کالکشن‌های لاراول جز بهترین بخش‌های لاراول هستند، من در هنگام توسعه اپلیکیشن در لاراول از آن‌ها لذت می‌برم. متد pluck قسمتی از کالکشن‌های لاراول است، این تابع برای بازگرداندن یک لیست از داده‌های مشخص از یک آرایه‌ی داده شده مورد استفاده قرار می‌گیرد.

شما ممکن است گاهی اوقات در شرایطی قرار بگیرید که نیاز باشد داده‌ی خاصی را از یک کالکشن استخراج کنید در این صورت متد pluck به کمک شما می‌آید.

در این مقاله به چگونگی استفاده از متد 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'],
]);

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

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

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

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

حتی می‌توانیم بصورت کوتاه‌تر بنویسیم:

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

در موارد دیگر شما می‌توانید متد pluck را بر روی ابجکت‌های تو در تو مانند روابط با استفاده از علامت نقطه بکار ببرید:

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

متد pluck در لاراول می‌تواند در هنگام استخراج کردن ستونی خاص از داده‌ها بدون لود کردن همه ستون خیلی مفید باشد.

شما می‌توانید از این متد لاراول در viewهای خود بخوبی استفاده کنید، برای مثال اگر شما می‌خواهید که همه گزینه‌های موجود در زیر یک جعبه‌ی چند گزینه‌ای را انتخاب کنید شما می‌توانید از این متد به‌همراه متد in_array() برای تعیین مقداری که می‌خواهید انتخاب کنید، استفاده کنید.

 در این مقاله تلاش شد تا بطور مختصر به توضیح متد pluck در لاراول بپردازیم. درصورتی که تازه با این متد آشنا شده‌اید و یا در مورد آن سوال یا ابهامی دارید در قسمت نظرات ابهام خود را کامنت کنید.

منبع 

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید