faker->randomElement(['jpg', 'png', 'pdf', 'doc', 'docx']); $originalName = $this->faker->word . '.' . $extension; $name = $this->faker->uuid . '.' . $extension; return [ 'belongs_type' => $this->faker->randomElement(['visit', 'study', 'blacklist']), 'belongs_id' => $this->faker->numberBetween(1, 100), 'original_name' => $originalName, 'folder' => 'uploads/' . $this->faker->date('Y/m/d'), 'name' => $name, 'extension' => $extension, 'size' => $this->faker->numberBetween(1024, 10485760), // 1KB to 10MB 'creator_type' => 'admin', 'creator_id' => $this->faker->numberBetween(1, 10), ]; } public function image() { return $this->state(function (array $attributes) { $extension = $this->faker->randomElement(['jpg', 'png', 'gif']); $originalName = $this->faker->word . '.' . $extension; $name = $this->faker->uuid . '.' . $extension; return [ 'original_name' => $originalName, 'name' => $name, 'extension' => $extension, ]; }); } public function document() { return $this->state(function (array $attributes) { $extension = $this->faker->randomElement(['pdf', 'doc', 'docx', 'xls', 'xlsx']); $originalName = $this->faker->word . '.' . $extension; $name = $this->faker->uuid . '.' . $extension; return [ 'original_name' => $originalName, 'name' => $name, 'extension' => $extension, ]; }); } }