I have 2 models: Order and Widget. A Widget is a unique item that can only exist on one Order. I could represent this with belongsTo, namely a Wiget belongsTo an Order and the Widget would contain an order_id field. Or, I could to hasAndBelongsToMany with a join table.
Since a Widget exists on it's own and gets associated to an Order later, is it "okay" for the order_id field on Widget to remain empty? It seems "unclean" to me versus having the join table that associates it to an Order at some time in the future. I also have a need to get Widgets that are associated to an Order and the ones that are not.
What is the best way to set this up?