Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Статті за тегом «Laravel»

Статті, новини, туторіали та переклади від учасників спільноти

No results.
Laravel Tackle
Новини 21 серпня 2026

Laravel Tackle: AI-агент для кодування всередині вашого Laravel-додатка

Laravel Tackle - пакет від Джордана Далтона, що запускає AI-агента як Artisan-команди всередині вашого додатка. Він інтегрується з фреймворком, може редагувати код, виправляти помилки, переглядати pull request'и та навіть самостійно лікувати невдалі черги завдань.

6
Mailables Viewer
Новини 21 серпня 2026

Statamic Mailables Viewer - попередній перегляд Laravel-листів у Control Panel

Jack McDade випустив безплатний аддон Mailables Viewer для Statamic, який автоматично знаходить усі Laravel-mailables у проєкті та дозволяє переглядати їх прямо в адмінці без додаткових preview-роутів та налаштувань.

5
Tips 19 серпня 2026

chunk() - поділ даних на частини

Потрібно обробити 10 000 елементів? Або API обмежує 100 запитів за хвилину?

chunk() розбиває колекцію на менші групи.

Сценарії:

  • Обмеження API
  • Пакетна обробка
  • Керування пам'яттю
  • Прогрес-бар

Відмінність від query chunk():

Collection chunk() працює з уже завантаженими даними. Query chunk() завантажує дані з бази порціями.

Порада: поєднувати з sleep() для API rate limit.

// Поділ на частини по 100
$users = User::all();
$users->chunk(100)->each(function ($batch) {
  $this->sendBatchEmail($batch);
});

// API rate limit
$products = collect($apiProducts);
$products->chunk(50)->each(function ($batch) {
  $this->syncToDatabase($batch);
  sleep(1);
});

// Прогрес
$done = 0;

$users->chunk(100)->each(function ($batch) use (&$done) {
  $batch->each(fn($u) => $this->process($u));
  $done += $batch->count();
  echo "Progress: {$done}\n";
});

// Комбінування з іншими методами
$users->chunk(100)->map(function ($chunk) {
  return $chunk->pluck('email');
});
Laravel Chores
Новини 19 серпня 2026

Laravel Chores: відновлювані операції з даними та автоматизація рутинних завдань

Новий пакет Laravel Chores від Amr Lotfy Saleh дозволяє виконувати масові операції з даними, які автоматично зберігають прогрес після кожної пачки записів. Це означає, що переривання процесу не змусить починати заново - робота продовжиться з того місця, де зупинилася.

5
Laravel Lock
Переклади 18 серпня 2026

Laravel Lock: пакет для розподілених блокувань моделей та маршрутів

Laravel Lock від Md Mahedi Zaman Zaber - це пакет для керування розподіленими блокуваннями у Laravel. Він пропонує зручний інтерфейс для блокування моделей та маршрутів, підтримку двох драйверів зберігання (кеш і база даних), middleware для захисту роутів та автоматичне звільнення ресурсів навіть при помилках.

25
Tips 17 серпня 2026

map() vs transform() - трансформація колекцій

Потрібно змінити кожен елемент колекції?

map() і transform() роблять це, але працюють по-різному.

Різниця:

  • map() повертає НОВУ колекцію, оригінал залишається без змін
  • transform() змінює оригінальну колекцію

Що коли використовувати:

  • map() - коли початкові дані потрібні пізніше
  • transform() - коли треба зекономити пам'ять на великих колекціях

Порада: map() дозволяє повністю змінювати структуру, transform() зберігає ключі.

// map() - створює нову колекцію
$users = User::all();
$names = $users->map(function ($user) {
  return strtoupper($user->name);
});

// transform() - змінює оригінал
$users = User::all();
$users->transform(function ($user) {
  $user->name = strtoupper($user->name);
  return $user;
});

// map() з короткими функціями
$prices = collect([100, 200, 300]);
$withTax = $prices->map(fn($p) => $p * 1.2);

// Повна зміна структури
$formatted = $users->map(fn($user) => [
  'id' => $user->id,
  'label' => "{$user->name} ({$user->email})"
]);

// mapWithKeys - власні ключі
$users->mapWithKeys(fn($user) =>
  [$user->email => $user->name]
);
Tips 14 серпня 2026

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

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

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

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

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

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

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

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

// Погано: цикл і ручне збирання
$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']

Матеріали за темою «Laravel»: усе, що ми писали про це українською. Нижче - суміжні теми, якщо шукаєте ширше.

Зараз опубліковано 208 матеріалів від 3 авторів. Останній матеріал - 30 жовтня 2026.