johannesclimacus / artisan-factory
Create models from Artisan via factories
Package info
github.com/johannesclimacus0/artisan-factory
pkg:composer/johannesclimacus/artisan-factory
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/console: ^13.0
- illuminate/database: ^13.0
- illuminate/support: ^13.0
Requires (Dev)
- larastan/larastan: ^3.9
- laravel/pao: ^1.0
- laravel/pint: ^1.29
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.6||^5.0
- pestphp/pest-plugin-laravel: ^4.1||^5.0
- pestphp/pest-plugin-type-coverage: ^4.0||^5.0
- phpstan/extension-installer: ^1.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-01 01:59:24 UTC
README
Пакет позволяет запускать фабрики Eloquent через Artisan без использования Tinker.
Требования
- PHP 8.3+
- Laravel 13
Установка
composer require johannesclimacus/artisan-factory --dev
Примеры использования
Создать одну запись:
php artisan factory:create User
Создать несколько записей:
php artisan factory:create User --count=5
Применить состояние фабрики:
php artisan factory:create User --state=unverified
Переопределить атрибуты фабрики:
php artisan factory:create User --set="name=Test User" --set="email=test@example.com"
Специальные значения null, true и false автоматически преобразуются в соответствующие PHP-значения. Всё остальное остаётся строками.
Вывести все видимые атрибуты созданной модели:
php artisan factory:create User --details
Связанные модели
Опция --for передаёт существующую родительскую модель в метод Factory::for().
Для стандартного названия связи достаточно указать модель и её route key:
php artisan factory:create Post --for="User:1"
Если название связи отличается от названия модели, нужно явно указать:
php artisan factory:create HouseholdMessage --for="sender=User:1"
Конфигурация
Опубликовать файл конфигурации:
php artisan vendor:publish --tag=factory-create-config
В конфигурации можно задать максимальное количество записей, создаваемых одной командой, и namespace моделей.
Тестирование
composer test
License
MIT