Когда Одна Модель Хочет Данные Другой Модели

пример, есть таблицы Orders & OrdersProducts & Products

захотелось в методе модели OrdersProducts сохранить продукты, но не хватает всего-то свойства price из таблицы Products (денормализация и все такое)

вот не хочется мне в из одной модели получать данные другой. мне это кажется совершенно не логичным.

можно конечно через хелперы сделать, вроде как покашерней, но все равно попахивает.

можно конечно эту логику реализовать в контроллере, но, но мне нравиться когда у модели “кость широкая” :)

подскажите пожалуйста более правильный вариант решения задачи.

спасибо !