---
title: "value() vs first() - економія пам'яті"
url: https://laravelukraine.com/blog/value-vs-first-ekonomiia-pamiati
date: 2026-03-06
---

# value() vs first() - економія пам'яті

Потрібна тільки одна колонка з одного рядка? Не треба завантажувати всю модель.

`first()` створює повну Eloquent модель. `value()` повертає тільки дані.

**Різниця:**

- `first()` повертає екземпляр моделі з усіма атрибутами
- `value()` повертає одне скалярне значення
- `pluck()` повертає колекцію значень з кількох рядків

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

Використовувати `value()` для однієї колонки, одного рядка.
Використовувати `pluck()` для однієї колонки, кількох рядків.
Використовувати `first()` тільки коли потрібні методи моделі.

Порада: На великих таблицях з багатьма колонками value() значно швидший.

```php
// ПОГАНО: Завантажує повну модель з усіма колонками
$email = User::where('id', 1)->first()->email;

// ДОБРЕ: Повертає тільки рядок email
$email = User::where('id', 1)->value('email');

// Декілька рядків, одна колонка
$emails = User::where('active', true)->pluck('email');
// Повертає: Collection ['john@ex.com', 'jane@ex.com']

// Потрібні декілька колонок з кількох рядків?
$users = User::select('id', 'email')->get();

// З ключем за ID
$emails = User::pluck('email', 'id');
// Повертає: [1 => 'john@ex.com', 2 => 'jane@ex.com']
```
