*/ class PostFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { return [ 'title' => [ 'ar' => fake('ar_SA')->sentence(), 'en' => fake()->sentence(), ], 'body' => [ 'ar' => fake('ar_SA')->paragraphs(3, true), 'en' => fake()->paragraphs(3, true), ], 'status' => PostStatus::Draft, 'published_at' => null, ]; } /** * Create a published post. */ public function published(): static { return $this->state(fn (array $attributes) => [ 'status' => PostStatus::Published, 'published_at' => fake()->dateTimeBetween('-30 days', 'now'), ]); } /** * Create a draft post. */ public function draft(): static { return $this->state(fn (array $attributes) => [ 'status' => PostStatus::Draft, 'published_at' => null, ]); } }