Автор Тема: api фильтрация  (Прочитано 55 раз)

18 Август 2017, 18:55:00
  • Фрилансер
  • *
  • Сообщений: 106
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
фильтрую так
/api/orders?filter[id]=>[4]
как передать условие больше\меньше равно? >=\<=
/api/orders?filter[id]=>=[4] не работает
18 Август 2017, 18:58:56
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 2992
  • Репутация: +72/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Никак, условие "больше\меньше равно" - это весть список без фильтрации.
18 Август 2017, 19:18:31
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 106
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
не понял
счас больше\меньше фильтрует но  не включая  саму цифру
18 Август 2017, 20:50:37
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2992
  • Репутация: +72/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Я тоже не понял вопроса. Условие "больше\меньше равно" не существет. Так как это бесполезное условие.
Или "больше\меньше" - или "равно".
18 Август 2017, 21:28:25
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 106
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
почему бесполезное?
больше или равно 5 значит все цифры от 5 и выше
условие больше 5 это цифры от 6 и выше
19 Август 2017, 11:04:58
Ответ #5
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22307
  • Репутация: +17114/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Web service filter - это sql запрос с условиями. Составлять нужно как в запросе.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
19 Август 2017, 11:15:43
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 20988
  • Репутация: +25282/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
/classes/webservice/WebserviceRequest.php
protected function getSQLRetrieveFilter($sqlId, $filterValue, $tableAlias = 'main.')
{
    ...$matches[1] == '<' OR $matches[1] == '>' OR $matches[1] == '!'
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Август 2017, 14:51:59
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 106
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
/classes/webservice/WebserviceRequest.php
protected function getSQLRetrieveFilter($sqlId, $filterValue, $tableAlias = 'main.')
{
    ...$matches[1] == '<' OR $matches[1] == '>' OR $matches[1] == '!'

странно а почему не используются нестрогие условия >= <=
19 Август 2017, 15:29:57
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 14006
  • Репутация: +14568/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Можно переписать WebserviceRequest.php, сделать под себя. В дефолтной версии все по минимуму.
19 Август 2017, 16:46:42
Ответ #9
  • Фрилансер
  • *
  • Сообщений: 106
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
изначально я открываю через урл
site.ru/api/orders?filter[id]=>[4]
и вопрос был как тут указать нестрогое условие
19 Август 2017, 16:57:43
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 14006
  • Репутация: +14568/-2
  • Сообщество PrestaShop
    • Просмотр профиля
изначально я открываю через урл
site.ru/api/orders?filter[id]=>[4]
и вопрос был как тут указать нестрогое условие
Ответ написан выше. Стандарный prestashop web service не поддерживает такой формат.
20 Август 2017, 09:58:26
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 33066
  • Репутация: +26762/-0
    • Просмотр профиля
изначально я открываю через урл
site.ru/api/orders?filter[id]=>[4]
и вопрос был как тут указать нестрогое условие
Так попробуйте
site.ru/api/orders?filter[id]=[>4]