*/ class MafOrderFactory extends Factory { protected $model = MafOrder::class; public function definition(): array { $quantity = fake()->numberBetween(1, 20); return [ 'year' => (int) date('Y'), 'order_number' => fake()->unique()->bothify('MO-####'), 'status' => 'active', 'user_id' => User::factory(), 'product_id' => Product::factory(), 'quantity' => $quantity, 'in_stock' => fake()->numberBetween(0, $quantity), ]; } public function forProduct(Product $product): static { return $this->state(fn (array $attributes) => [ 'product_id' => $product->id, ]); } public function fullyInStock(): static { return $this->state(function (array $attributes) { $qty = $attributes['quantity'] ?? 10; return [ 'in_stock' => $qty, ]; }); } }