Изменения
Упрощённый fastget
Необходим понятный синтаксис для оператора поиска-сортировки объектов в БД для метода fastget. Также необходима поддержка визуального редактора для данного метода.
Пример трансформации
Старый синтаксис: cex.articles.fastget('date'>glob.date,('title'!='nope' | 'author'^^group.bloggers.users) !'view','title' 5 20)
Рассмотрим элементы в отдельности
1. Выборка
Первое условие - дата статьи должна быть больше текущий даты.
Плюс к этому должно соблюдаться комплексное условие: либо заголовок != 'nope', либо автор должен быть из группы Блоггеры.
2. Сортировка
Сортируем по полю "Кол-во просмотров" в обратном порядке, затем по полю "Заголовок".
3. Обрезка
Далее берём 20 статей начиная с 5ой.
Вариант читаемого синтаксиса
[table/array.query('field'==$var AND ('field2'==$var2 OR 'field3'==$var3)).order('date',!'number').limit(0,10)]
Примерный вид:
[table.find(параметры).where(условие).where_set(группа условий).sort(сортировка).start(сдвиг).limit(обрезка)]
Группа условий может быть мультивложенная, где первый аргумент задаёт тип сравнения (and или or), далее идёт массив условий.