diff --git a/database/factories/PersonFactory.php b/database/factories/PersonFactory.php index ba5bb30..ba5d4a8 100644 --- a/database/factories/PersonFactory.php +++ b/database/factories/PersonFactory.php @@ -4,49 +4,36 @@ use Faker\Generator as Faker; use Carbon\Carbon; $factory->define(App\Person::class, function (Faker $faker) { - $title = null; - $name_or_company = null; - $surname = null; - $date_of_birth = null; - - // Decide randomly, if we create a person or a company and fill the - // differing fields accordingly - $probComp = 0.3; - $rand = $faker->numberBetween(0, $max = 1000); - - if ($rand <= (int) ($probComp * $max)) { - $title = 'Firma'; - $name_or_company = $faker->company; - } else { - $probMale = 0.5; - $rand = $faker->numberBetween(0, $max = 1000); - - if ($rand <= (int) ($probComp * $max)) { - $title = 'Herr'; - $surname = $faker->firstName('male'); - } else { - $title = 'Frau'; - $surname = $faker->firstName('female'); - } - - $name_or_company = $faker->lastName; - $date_of_birth = $faker->dateTimeInInterval($startDate = '-35 years', - $interval = '+15 years'); - } - return [ - 'title' => $title, - 'name_or_company' => $name_or_company, - 'surname' => $surname, + 'title' => 'Firma', + 'name_or_company' => $faker->company, 'street' => $faker->streetName . ' ' . $faker->buildingNumber, 'postal_code' => $faker->randomNumber(5, true), 'city' => $faker->city, 'email' => $faker->safeEmail, 'phone' => $faker->numerify('0### / ## ## ## ##'), 'mobile' => $faker->numerify('0### / ## ## ## ##'), - 'date_of_birth' => $faker->dateTimeInInterval($startDate = '-35 years', - $interval = '+15 years'), 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), 'updated_at' => Carbon::now()->format('Y-m-d H:i:s') ]; }); + +$factory->state(App\Person::class, 'male', function ($faker) { + return [ + 'title' => 'Herr', + 'name_or_company' => $faker->lastName, + 'surname' => $faker->firstName('male'), + 'date_of_birth' => $faker->dateTimeInInterval($startDate = '-35 years', + $interval = '+15 years') + ]; +}); + +$factory->state(App\Person::class, 'female', function ($faker) { + return [ + 'title' => 'Frau', + 'name_or_company' => $faker->lastName, + 'surname' => $faker->firstName('female'), + 'date_of_birth' => $faker->dateTimeInInterval($startDate = '-35 years', + $interval = '+15 years') + ]; +}); diff --git a/database/seeds/data/test/TestPeopleTableSeeder.php b/database/seeds/data/test/TestPeopleTableSeeder.php index 19e033a..21a3578 100644 --- a/database/seeds/data/test/TestPeopleTableSeeder.php +++ b/database/seeds/data/test/TestPeopleTableSeeder.php @@ -13,7 +13,9 @@ class TestPeopleTableSeeder extends Seeder public function run() { // Create people - $people = factory(App\Person::class, 100)->create(); + $people = factory(App\Person::class, 20)->create(); + $people = $people->concat(factory(App\Person::class, 40)->states('male')->create()); + $people = $people->concat(factory(App\Person::class, 40)->states('female')->create()); // Create random member states for // $people->each(function ($person) {