I'd recommend making a Factory for each model. https://laravel.com/docs/5.5/database-testing#writing-factories
Faker docs: https://github.com/fzaninotto/Faker
This is a rough look at how the Player factory might be.
$factory->define(App\Player::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name, // random name
'sign_on' => $faker->date,
];
}
Of course, your factory might be different depending on your database structure.
After the factories are done you can generate 100 players in the seeder like this:
factory(Player::class, 100)->create()->each(function($player) {
// Here you generate the random dates that you need for the other models
$player->injuries()->save(factory(Injury::class)->create([/* Here you pass the desired dates for the injury model */]));
// Do the same with the other related models
});