create(); /** @var array $albums */ $albums = Album::factory(3)->for($artist)->create(); // 7-15 songs per albums foreach ($albums as $album) { Song::factory(random_int(7, 15))->for($artist)->for($album)->create(); } } protected static function getNonPublicProperty($object, string $property): mixed { $reflection = new ReflectionClass($object); $property = $reflection->getProperty($property); $property->setAccessible(true); return $property->getValue($object); } }