CommonCatalogItemFactory.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. declare(strict_types=1);
  3. namespace Database\Factories;
  4. use App\Models\CommonCatalogItem;
  5. use Illuminate\Database\Eloquent\Factories\Factory;
  6. /** @extends Factory<CommonCatalogItem> */
  7. class CommonCatalogItemFactory extends Factory
  8. {
  9. protected $model = CommonCatalogItem::class;
  10. public function definition(): array
  11. {
  12. return [
  13. 'article' => fake()->unique()->numerify('####'),
  14. 'calculator_name' => fake()->sentence(),
  15. 'print_name' => fake()->optional()->sentence(),
  16. 'kind' => fake()->randomElement(['Игровое оборудование', 'Теневой навес', 'Мебель']),
  17. 'product_group' => fake()->optional()->randomElement(['Игровое оборудование', 'Спортивное оборудование']),
  18. 'dimension_length' => (string) fake()->randomFloat(2, 1, 10),
  19. 'dimension_width' => (string) fake()->randomFloat(2, 1, 10),
  20. 'dimension_height' => (string) fake()->randomFloat(2, 1, 5),
  21. 'site_length' => (string) fake()->randomFloat(2, 1, 15),
  22. 'site_width' => (string) fake()->randomFloat(2, 1, 15),
  23. 'fall_height' => fake()->randomFloat(3, 0, 3),
  24. 'additional_info' => fake()->optional()->sentence(),
  25. 'dimension_unit' => 'м',
  26. 'weight' => fake()->randomFloat(3, 10, 2000),
  27. 'volume' => fake()->randomFloat(3, 1, 20),
  28. 'places' => fake()->numberBetween(1, 50),
  29. 'composition' => fake()->optional()->sentence(),
  30. 'characteristics' => fake()->optional()->paragraph(),
  31. 'technical_description' => fake()->optional()->paragraphs(2, true),
  32. 'technical_description_short' => fake()->optional()->paragraph(),
  33. 'age_group' => fake()->randomElement(['0+', '3+', '6+']),
  34. 'max_users' => fake()->numberBetween(1, 20),
  35. 'unit' => 'шт.',
  36. 'series' => fake()->word(),
  37. 'trademark' => fake()->company(),
  38. 'calculator_enabled' => fake()->boolean(),
  39. 'builders_price' => fake()->randomFloat(2, 1000, 3000000),
  40. 'wholesale_price' => fake()->randomFloat(2, 1000, 3000000),
  41. 'recommended_price' => fake()->randomFloat(2, 1000, 3000000),
  42. 'retail_price' => fake()->randomFloat(2, 1000, 3000000),
  43. 'project_price' => fake()->randomFloat(2, 1000, 3000000),
  44. 'project_with_installation_price' => fake()->randomFloat(2, 1000, 3000000),
  45. 'pik_price' => fake()->randomFloat(2, 1000, 3000000),
  46. 'recommended_plus_10_price' => fake()->randomFloat(2, 1000, 3000000),
  47. ];
  48. }
  49. }