* * @method Manga create(array|callable $attributes = []) * @method static Manga createOne(array $attributes = []) * @method static Manga find(object|array|mixed $criteria) * @method static Manga findOrCreate(array $attributes) * @method static Manga first(string $sortedField = 'id') * @method static Manga last(string $sortedField = 'id') * @method static Manga random(array $attributes = []) * @method static Manga randomOrCreate(array $attributes = []) * @method static MangaRepository&RepositoryDecorator repository() * @method static list all() * @method static list createMany(int $number, array|callable $attributes = []) * @method static list createSequence(iterable|callable $sequence) * @method static list findBy(array $attributes) * @method static list randomRange(int $min, int $max, array $attributes = []) * @method static list randomSet(int $number, array $attributes = []) */ final class MangaFactory extends PersistentObjectFactory { /** * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services * * @todo inject services if required */ public static function class(): string { return Manga::class; } /** * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories * * @todo add your default values here */ protected function defaults(): array { $title = self::faker()->words(rand(1, 3), true); return [ 'title' => $title, 'slug' => strtolower(str_replace(' ', '-', $title)), 'imageUrl' => self::faker()->optional()->imageUrl(), 'publicationYear' => self::faker()->optional()->year(), 'description' => self::faker()->optional()->text(), 'genres' => self::faker()->optional()->words(rand(1, 5)), 'createdAt' => \DateTimeImmutable::createFromMutable(self::faker()->dateTime()), 'rating' => self::faker()->optional()->randomFloat(1, 0, 10), 'author' => self::faker()->optional()->name(), 'externalId' => self::faker()->optional()->uuid(), 'status' => self::faker()->optional()->randomElement(['ongoing', 'completed', 'hiatus']), 'thumbnailUrl' => self::faker()->optional()->imageUrl(150, 150), 'monitored' => self::faker()->boolean(), 'AlternativeSlugs' => self::faker()->optional()->words(3), ]; } /** * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization */ protected function initialize(): static { return $this // ->afterInstantiate(function(Manga $manga): void {}) ; } }