Вийшов Laravel 12.43 — нові методи Eloquent, macroable HTTP Response і низка інших оновлень

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 19 грудня, 2025
Laravel 12.43 привносить кілька практичних оновлень, які полегшать роботу з Eloquent, HTTP‑клієнтом і чергами. Дізнайтеся про нові mergeHidden/mergeVisible, macroable Response, умовний afterResponse і інші корисні зміни.

Команда Laravel випустила версію 12.43: у ній з’явилися нові методи Eloquent-колекцій для злиття видимості атрибутів у колекції, можливість робити HTTP Client Response макросним та інші зміни.

Як і в попередніх релізах, цього разу також багато внесків — дякуємо всім, хто робить Laravel кращим. Ось головні новинки у Laravel 12.43!

# Методи Eloquent Collections mergeHidden() та mergeVisible()

Mahmoud Ramadan додав методи mergeHidden() та mergeVisible() до Eloquent-колекцій — тепер можна змінювати видимість атрибутів для всієї колекції:

use App\Models\User;
 
$users = User::withWhereHas('comments')->get();
 
$users->mergeVisible(['updated_at']);

# Додати Macroable до класу HTTP Client Response

Kevin Bui додав трейт Macroable до класу Response HTTP-клієнта:

use Illuminate\Http\Client\Response;
 
Response::macro(
    'movieFields',
    fn () => $this->collect()->only('title', 'year', 'runtime', 'director', 'plot')
);
 
$response = Http::get(...);
$response->movieFields();

# Зробити PendingDispatch::afterResponse умовним

@kenneth-saey оновив метод afterResponse() у PendingDispatch, додавши можливість умовно відкладати виконання Job після відправлення відповіді браузеру:

// Before
 
if (app()->environment('local')) {
    MyJob::dispatch($myData)
         ->afterResponse();
} else {
    MyJob::dispatch($myData);
}
 
 
// After
MyJob::dispatch($myData)
    ->afterResponse(! app()->environment('local'));

# Дозволити Storage::fake() приймати Enum як ім'я диска

Bert Bredewold додав можливість передавати Enum для імені диска при використанні storage fake. Тепер fake() узгоджується з Storage::disk():

// New in Laravel 12.43
Storage::fake(Disk::Local);
 
// Already possible before Laravel 12.43
Storage::disk(Disk::Local);

# Тестова ассерція Response assertFailedDependency

Artyom Osepyan додав тест-ассерцію для коду клієнтської помилки HTTP 424 Failed Dependency. Ця відповідь означає, що операцію неможливо виконати, бо вона залежала від іншої дії, яка зазнала невдачі.

$this->assertFailedDependency();
 
// Equivalent to
$this->assertStatus(424);

# Примітки до релізу

Повний список змін і оновлень дивіться нижче та на GitHub у порівнянні між 12.42.0 і 12.43.0. Наступні нотатки взяті з changelog:

# v12.43.0

Популярні

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Logomark Logotype

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!

Logomark Logotype

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку