[eluser]OverZealous[/eluser]
There is no difference between $a->save($b) and $b->save($a). They both require one query.
The only time you might choose one over the other is when saving a new item and related items at once, and then just for cleaner code.
As far as querying for elements with no category, that can be a little difficult. If you are dealing with $has_one relationships, then you do something like this:
Code:
$item->where('related_id', NULL)->get();
But if you are dealing with $has_many, that's a little trickier. I recommend, for efficiency, including a bit of hand-written code. Something like this might work:
Code:
$element->where('(elements.id NOT IN (SELECT element_id FROM categories_elements))')->get();