*/ class RideFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = Ride::class; /** * Define the model's default state. * * @return array */ public function definition(): array { $name = $this->faker->unique()->words(2, true); return [ 'name' => $name, 'slug' => Str::slug($name), 'description' => $this->faker->paragraphs(2, true), 'is_active' => $this->faker->boolean(90), // 90% chance of being active 'created_at' => $this->faker->dateTimeBetween('-1 year', 'now'), 'updated_at' => function (array $attributes) { return $this->faker->dateTimeBetween($attributes['created_at'], 'now'); }, ]; } /** * Indicate that the model is active. */ public function active(): static { return $this->state(fn (array $attributes) => [ 'is_active' => true, ]); } /** * Indicate that the model is inactive. */ public function inactive(): static { return $this->state(fn (array $attributes) => [ 'is_active' => false, ]); } }