*/ class VertragFactory extends Factory { /** * @return array */ public function definition(): array { return [ 'abschnitt_id' => Abschnitt::factory(), // Auftragnehmer im selben Mandanten und Land wie der Abschnitt 'auftragnehmer_id' => function (array $attributes) { $abschnitt = Abschnitt::query()->whereKey($attributes['abschnitt_id'])->firstOrFail(); return Auftragnehmer::factory()->state([ 'mandant_id' => $abschnitt->mandant_id, 'land' => $abschnitt->land, ]); }, 'bezeichnung' => fake()->randomElement(['Gleisbau', 'Tunnelbau', 'Oberleitung', 'Kabeltiefbau']), 'vertragsnummer' => fake()->numerify('V-#####'), 'vertrag_vom' => fake()->dateTimeBetween('-2 years', '-1 month'), ]; } }