Preheat the oven to 350°F.
Grease and flour a 13x9-inch baking pan.
Whisk the flour, baking soda and sugar together, then mix in the pineapple (including the juice from the can), eggs and vanilla.
Fold in the nuts, then pour the batter into the baking pan.
Bake for 30 minutes or until a toothpick inserted into the middle comes out clean.
Let the cake completely cool on a wire rack.
Meanwhile, prepare the frosting.
Beat the butter and cream cheese until light and fluffy.
Beat in the sugar and vanilla.
Frost the cake and keep refrigerated until serving.