Ответы пользователя по тегу Sphinx
  • Как правильно реализовать фильтры по свойствам в Sphinx?

    atillus
    @atillus Автор вопроса
    Сергей Тихонов, да, - спасибо!
    Это работает. так:

    $query = new Query(); // Sphinx
    $query->from('announces');
    $query->addSelect("*");
    $query->addSelect(new Expression("IN(filters['424'], 'Бензин', 'Дизель', 'Газ') AS f_424"));
    $query->andWhere("f_424 = 1");
    $query-all();


    ... тут всё ОК

    Но теперь новая проблема... - с разбивкой для пагинации...
    Перед вызовом $query->all() нужно подсчитать общее кол-во и добавить limit и offset
    Попытка посчитать $total = $query->count(); - даёт ошибку "no such filter attribute 'f_425'", т.к. запрос на он выполняет такой: SELECT COUNT(*) FROM `announcements` WHERE ...... AND (f_425 = 1)
    Ответ написан
    1 комментарий