Preheat your oven to 350°F (175°C). Grease and flour a 10-cup Bundt pan.
In a large bowl, whisk together the flour, baking powder, baking soda, cinnamon, nutmeg, and salt.
In another bowl, beat together the granulated sugar, brown sugar, and vegetable oil until well combined.
Add the eggs one at a time, mixing well after each addition, then stir in the vanilla extract.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined.
Fold in the grated carrots, crushed pineapple, and walnuts if using.
In a separate bowl, beat the cream cheese until smooth. Add the sugar, egg, and vanilla extract, mixing until well combined.
Pour half of the carrot cake batter into the prepared Bundt pan.
Spoon the cheesecake filling over the batter, then top with the remaining carrot cake batter.
Bake for 50-60 minutes or until a toothpick inserted into the cake comes out clean.
Allow the cake to cool in the pan for 15 minutes before inverting onto a wire rack to cool completely.