Files
einundzwanzig-verein/database/factories/CityFactory.php
T
BT cb61d9d543 🔥 Add initial database migrations, seeders, and factories
🎨 Refactor `Lecturer` model to include new fields and factory usage
🔧 Update `DatabaseSeeder` to handle default seeds
🛠️ Enhance `einundzwanzig` database configuration for SQLite compatibility
2026-05-02 17:17:13 +01:00

65 lines
1.4 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\City;
use App\Models\Country;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends Factory<City>
*/
class CityFactory extends Factory
{
/**
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'country_id' => Country::factory(),
'name' => fake()->city(),
'latitude' => fake()->latitude(47, 55),
'longitude' => fake()->longitude(6, 16),
'osm_relation' => null,
'simplified_geojson' => null,
];
}
public function vienna(): static
{
return $this->state(fn () => [
'name' => 'Wien',
'latitude' => 48.2082,
'longitude' => 16.3738,
]);
}
public function berlin(): static
{
return $this->state(fn () => [
'name' => 'Berlin',
'latitude' => 52.5200,
'longitude' => 13.4050,
]);
}
public function munich(): static
{
return $this->state(fn () => [
'name' => 'München',
'latitude' => 48.1351,
'longitude' => 11.5820,
]);
}
public function zurich(): static
{
return $this->state(fn () => [
'name' => 'Zürich',
'latitude' => 47.3769,
'longitude' => 8.5417,
]);
}
}