ОО, это старый добрый вопрос про нормальные формы ) Если у тебя есть категории и там отношения ManyToMany, то да, лучше чтобы была 1 главная категория через hasOne
Ну вот и вопрос ) зачем) на мой взгляд output метод хорош если вызывается много команд в разной последовательности и надо получить только последний результат))