---
title: "pluck() - витягуй значення професійно"
url: https://laravelukraine.com/blog/pluck-vitiagui-znacennia-profesiino
date: 2026-08-14
---

# pluck() - витягуй значення професійно

Потрібен масив ID? Організовувати цикл і додавати значення вручну не потрібно.

`pluck()` дістає значення стовпця в простий масив. В один рядок.

**Розширені можливості:**

* Pluck із ключем - створює асоціативний масив
* Pluck у зв'язках - без N+1
* Pluck на кілька рівнів - через dot notation

**Коли варто використовувати:**

* Формування select-опцій
* Отримання ID для whereIn()
* Створення lookup-масивів

Порада: використовувати pluck() безпосередньо на query builder - ефективніше, ніж завантажувати моделі.

```php
// Погано: цикл і ручне збирання
$ids = [];
foreach ($users as $user) {
  $ids[] = $user->id;
}

// Добре: один рядок
$ids = $users->pluck('id');
// [1, 2, 3, 4, 5]

// Із ключем
$userNames = $users->pluck('name', 'id');
// [1 => 'John', 2 => 'Jane', 3 => 'Bob']

// Безпосередньо з бази - ефективніше
$emails = User::pluck('email');
$emailsById = User::pluck('email', 'id');

// Dot notation
$posts = Post::with('author')->get();
$authorNames = $posts->pluck('author.name');

// Кілька рівнів
$comments = Comment::with('post.author')->get();
$authors = $comments->pluck('post.author.name');

// Для select
$countries = Country::pluck('name', 'code');
// ['US' => 'United States', 'GB' => 'United Kingdom']
```
