Files
pollux/database/factories/PersonFactory.php
T
Lukas Halbritter 003ff1435a Added person factory.
Fixed missing comma in TestProjectsTableSeeder.
2018-09-11 15:51:45 +02:00

53 lines
1.7 KiB
PHP

<?php
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,
'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')
];
});