Start by putting a null in the center of a circle. Now arrange all of the objects so they are on directly above the null and on the circumference of the circle. Make sure that the anchor points are all in the center of the layer and exactly on the circumference of the circle. A couple of guides will help you position each layer manually if you turn on snaps or you can do it mathematically. Now select the top layer and the null, press r to reveal the rotation property and then hold down the Alt/Option key and click on the Rotation property of the top layer to add this expression by first typing the minus sign, then space, then dragging the expression pickwhip to the null's rotation property. You should end up with this:
- thisComp.Layer("Null 1").transform.rotation
When the expression has been added, parent the first layer above the null to the null.
Now comes the fun part. If you have 6 layers each layer will be 60º apart so rotate the null 60º and parent the next layer above to the null. Repeat until all layers have been parented to the null and they are all positioned properly.
Here comes the magic. Select the rotation property of the layer with the expression and go to Edit>Copy Expression Only. Now select all of the other layers and paste. They should all snap to vertical. Now just animate the rotation of the null to make them spin.
This works because it subtracts the rotation of the null from the rotation value of the parented layer so they all stay horizontal.