Простой пример:
Есть интернет магазин.
У товаров в нём есть 2 дополнительных свойства - ширина и высота. Оба целочисленные.
Делаем в магазине фильтр по этим доп. свойствам. Стандартный фильтр hostcms. Допустим выбираем товары у которых ширина от 5см до 20см и высота от 10см до 50см. Отбирается часть товаров.
С этим всё нормально.
Теперь я хочу дать посетителю возможность отсортировать результаты по ширине. То есть, чтобы товары в результатах поиска шли в порядке возрастания ширины. Сначала пяти сантиметровые товары, потом шести... и тд.
Как это сделать? Как задать такую сортировку в типовой динамической странице?
Если у нас нет фильтра, то сортировка по доп. свойству выглядит примерно так (из руководства)
Подключаем таблицу со значениями доп.свойств и потом:
->groupBy('shop_items.id'

->where('property_value_ints.property_id', '=', 63)
->clearOrderBy()
->orderBy('property_value_ints.value', 'ASC'

;
В моём же случае уже таблицы все подключены, условия фильтра все добавлены.
Теперь осталось как-то отсортировать товары по конкретному свойству.
Как указать, что сортировать я хочу по ширине, а не высоте, если значения обоих этих свойств находятся в одной таблице (property_value_ints в данном случае).