CommonCatalogItemFactory.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. 'kind' => fake()->randomElement(['Игровое оборудование', 'Теневой навес', 'Мебель']),
  16. 'dimension_length' => (string) fake()->randomFloat(2, 1, 10),
  17. 'dimension_width' => (string) fake()->randomFloat(2, 1, 10),
  18. 'dimension_height' => (string) fake()->randomFloat(2, 1, 5),
  19. 'site_length' => (string) fake()->randomFloat(2, 1, 15),
  20. 'site_width' => (string) fake()->randomFloat(2, 1, 15),
  21. 'fall_height' => fake()->randomFloat(3, 0, 3),
  22. 'additional_info' => fake()->optional()->sentence(),
  23. 'dimension_unit' => 'м',
  24. 'weight' => fake()->randomFloat(3, 10, 2000),
  25. 'volume' => fake()->randomFloat(3, 1, 20),
  26. 'places' => fake()->numberBetween(1, 50),
  27. 'composition' => fake()->optional()->sentence(),
  28. 'age_group' => fake()->randomElement(['0+', '3+', '6+']),
  29. 'max_users' => fake()->numberBetween(1, 20),
  30. 'unit' => 'шт.',
  31. 'series' => fake()->word(),
  32. 'trademark' => fake()->company(),
  33. 'calculator_enabled' => fake()->boolean(),
  34. 'builders_price' => fake()->randomFloat(2, 1000, 3000000),
  35. 'wholesale_price' => fake()->randomFloat(2, 1000, 3000000),
  36. 'recommended_price' => fake()->randomFloat(2, 1000, 3000000),
  37. 'retail_price' => fake()->randomFloat(2, 1000, 3000000),
  38. 'project_price' => fake()->randomFloat(2, 1000, 3000000),
  39. 'project_with_installation_price' => fake()->randomFloat(2, 1000, 3000000),
  40. 'pik_price' => fake()->randomFloat(2, 1000, 3000000),
  41. 'recommended_plus_10_price' => fake()->randomFloat(2, 1000, 3000000),
  42. ];
  43. }
  44. }