Preheat the oven to 180°C/160℃ fan/350°F/gas mark 4. Grease a 23 x 33 cm/9 x13 in rectangular cake tin and line with a strip of baking parchment.
Roughly chopped the tinned pineapple and pat dry.
Whisk together the milk, oil, sugar, vanilla extract and orange zest in a large bowl.
Sift together the flour, baking powder, bicarbonate of soda, salt, cinnamon, ginger and nutmeg.
Tip the dry ingredients into the wet and stir with a balloon whisk until combined.
Fold in the grated carrot followed by the pineapple and pistachios.
Pour into the prepared tin and smooth the surface. Bake for 35-45 minutes until a skewer inserted into the centre comes out clean. Remove from the oven and leave to cool in the tin.
Once the cake is cool remove from the tin and peel off the baking parchment.
To make the frosting, melt the white chocolate, either over a pan of gently simmering water (don't let the bowl touch the water) or in short bursts in the microwave, stirring often.
Place the cream cheese in a bowl and whisk in the melted chocolate, followed by the lemon juice and vanilla, set aside.
Place the whipping cream in a separate bowl with the sifted icing sugar. Whisk with an electric mixer until it forms stiff peaks.
Make sure that the cream cheese mixture has cooled to room temperature then whisk it into the cream a little at a time. If the frosting is too soft, cover the bowl and place it in the fridge for an hour to firm up slightly. This is a fairly soft frosting however and probably won't become really firm (the texture will vary depending on the brands of cream and cream cheese that you use).
Spread the frosting over the top of the cake and sprinkle with chopped pistachios if you like. Keep refrigerated.