Отбор элементов ИС по сложному условию, в ShowInformationSystem

#
Отбор элементов ИС по сложному условию, в ShowInformationSystem
Подскажите, пожалуйста, каким запросом можно сделать следующее:

— у элемента ИС есть свойство item_date и 1 дополнительное свойство, допустим с id=27/ — тоже типа дата.
— имеются две даты, данные извне — date_from и date_to
— нужн отфильтровать элементы ИС, такие, которые:
--- либо date_from ≤ item_date ≤ date_to, И доп.св-во не установлено
--- либо date_from ≤ доп_свойство(@id=27), а date_to >= item_date

т.е. вкратце, элементы ИС, это мероприятия. Дата эл-та ИС это дата начала. А доп.свойство это дата окончания, если мероприятие идет больше чем 1 день. И нужно выводить все мероприятия, попадающие в интервал между date_from и date_to.

как нужно строить запрос?

мануал по api очень скуп на этот счёт
Модератор
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
ComradeVoland,
в API даны более чем исчерпывающие примеры ограничения по основному и доп. св-ву http://hostcms.ru/api/HostCMS_5/shop.html#methodShowShop
Сходу запрос не подскажу, зная структуру таблиц постройте запрос сначала просто на SQL, потом с помощью API.
P.S. для сложных запросов посмотрите в сторону HostCMS 6 и API-6, там прямой доступ к QueryBuilder.
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
HostCMS писал(а):
в API даны более чем исчерпывающие примеры ограничения по основному и доп. св-ву


спасибо, попробую. Просто в api по InformationSystem есть какие-то оговорки, которые не до конца понятно как трактовать

Ещё вопрос: сортировка по полю типа date или datetime - корректно ли идёт простым сравнением?
Модератор
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
ComradeVoland,
HostCMS 5 все это хранится в одной таблице, соответственно простое сравнение не получится. в HostCMS 6 значения хранятся в разных таблицах в зависимости от св-ва.
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
HostCMS писал(а):
HostCMS 5 все это хранится в одной таблице, соответственно простое сравнение не получится. в HostCMS 6 значения хранятся в разных таблицах в зависимости от св-ва.


Я не владелец сайта, а наёмный разработчик. Предложения перейти на 6ю версию владелец сайта игнорирует (никак не комментирует).

Подскажите пожалуйста, как строить запрос по сравнению даты на неравенство, в 5й версии?
Модератор
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
HostCMS писал(а):


спасибо!

А по основному полю типа дата - можно простым сравнением? и если да, то в $element['value'] надо записывать дату, с которой сравниваешь, в формате DD.MM.YYYY или в каком?
Модератор
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
основная дата хранится в дата-время, преобразовывать не нужно. Дату в формате даты в mysql.
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
HostCMS писал(а):
основная дата хранится в дата-время, преобразовывать не нужно. Дату в формате даты в mysql.


Спасибо! теперь справлюсь
#
Re: Отбор элементов ИС по сложному условию, в ShowInformationSystem
HostCMS писал(а):
основная дата хранится в дата-время, преобразовывать не нужно. Дату в формате даты в mysql.


Ещё вопрос. Фильтрация элементов ИС по тегу делается так?

if ($tag) $property['tags'][] = $tag ;


или я что-то путаю?

потому что при таком запросе система выдает пустое множество по заведомо существующему тегу
Авторизация