Господа, поиском пользовался, но не нашел.
В норме в каталоге выводятся сначала все товары в наличии - потом не в наличии. У товаров не в наличии - сортировка 777.
При фильтрации сортировка не учитывается и все выводится вперемешку.
Есть задача сделать, чтобы при фильтрации товары не в наличии не попадали в список.
В ТДС я по-быстрому допилил следующее
$Shop_Controller_Show->shopItems()->queryBuilder()
->select('shop_items.*') //допилил для сортировки товаров только в наличии
->where('shop_items.sorting', '!=', 777)
->clearOrderBy()
->orderBy('absolute_price', $sorting == 1 ? 'ASC' : 'DESC');
}
$sorting == 3 && $Shop_Controller_Show->shopItems()->queryBuilder()
->select('shop_items.*') //допилил для сортировки товаров только в наличии
->where('shop_items.sorting', '!=', 777)
->clearOrderBy()
->orderBy('shop_items.name', 'ASC');
Интересно, что все заработало сразу же.
2 вопроса
1. Правильно ли я сделал? Ощущение, что что-то забыл))
2. Как сделать так, чтобы использовалось поле "остаток"?
Насколько я понимаю, сам запрос будет выглядеть так:
SELECT shop_items.* WHERE id in (SELECT shop_items_id from shop_warehouse_items WHERE count != 0)
Но я что-то не соображу, как его воткнуть в ТДС.

Если просто воткнуть
->where('shop_items.id', 'in', 'SELECT shop_items_id from shop_warehouse_items WHERE count != 0')
то это не работает...
Заранее спасибо за подсказку!