Populate — це суперзаряджений сидер для Laravel

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Зануртеся у світ зручності та ефективності з пакетом Laragear Populate для Laravel! Ця стаття розкриває, як можна вдосконалити систему наповнення бази даних, організувавши якомога більше функцій, включаючи продовження невдалих спроб заповнення. Чи готові ви дізнатися більше?

Пакет Laragear Populate від @DarkGhostHunter – це вдосконалений сідер для застосунків на Laravel. Він пропонує корисні функції поверх стандартної системи заповнення бази даних у Laravel, включаючи можливість продовження невдалих спроб заповнення:

Модифікувавши стандартний Seeder з покращеною версією, ми можемо підвищити ефективність системи заповнення, реалізуючи покрокове заповнення, пропуск та можливість продовження заповнювальних процесів без втрати звичних функцій, забезпечуючи сумісність з класичними класами заповнювачів.

Сідери Populate використовують кроки заповнення, які представлені публічним методом, що починається з seed, або методом з атрибутом SeedStep. Це означає, що ваш сідер може бути більш організованим відповідно до типу даних, які ви хочете заповнити. Наступний приклад з README пакета демонструє кілька методів, які будуть викликані, а також можливість використання залежнісного вприскування:

namespace Database\Seeders;
 
use Database\Factories\UserFactory;
use Laragear\Populate\Attributes\SeedStep;
use Laragear\Populate\Seeder;
use App\TicketGenerator;
 
class UserSeeder extends Seeder
{
    public function __construct(protected TicketGenerator $ticket)
    {
        // ...
    }
 
    public function seedNormalUsers(UserFactory $users)
    {
        $users->count(5)->create(['ticket' => $this->ticket->generate()]);
    }
 
    public function seedVipUsers(UserFactory $users)
    {
        $users->vip()->count(3)->create();
    }
 
    #[SeedStep]
    public function bannedUsers(UserFactory $users)
    {
        $users->banned()->count(2)->create(['ticket' => $this->ticket->generate()]);
    }
}

Окрім виконання кроків заповнення, сідери, що використовують Populate, можуть визначати методи before(), after(), onError(), а також користуватися методом skip() під час виклику before() для пропуску кроку заповнення на основі знайдених умов:

if (User::query()->banned()->exists()) {
    $this->skip();
}

# Основні особливості

У README пакета міститься детальна документація про всі можливості сідерів Laragear Populate. Ви можете дізнатися більше про цей пакет, отримати повні інструкції з установки та переглянути код на GitHub.

Популярні

Logomark Logotype

Використання повнотекстового пошуку в Laravel

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

Logomark Logotype

Інтеграція Laravel Socialite з бібліотекою Google Client PHP

Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті

Logomark Logotype

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

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