Вопрос по фильтрам

InstantCMS 2.X
#1 2 июня 2021 в 09:15
Привет. Подскажите, кодеры), почему не работает такая конструкция? В различных вариантах. (С filterStart, filterEnd, filterAnd)
  1. $this->model->filterEqual('parent_id',0);
  2. $this->model->filterEqual('parent_id',1);
  3. $items = $this->model->get('con_type_cats');
В то время как такая
  1. $this->model->filterLt('parent_id',2);
работает).
#2 2 июня 2021 в 09:43
Lora, предположу, что в первом варианте вы забыли filterOr()
откройте файл model.php в папке core
там много интересного
#3 2 июня 2021 в 10:04
Оно работает, просто в первом варианте вы ищете записи у которых parent_id = 0 И parent_id = 1, а во втором те у которых parent_id < 2. Плэтому ничего не находит.
Вам надо искать в первом варианте parent_id = 0 ИЛИ parent_id = 1
Для этого запрос пишется как-то так:
  1.  
  2. $this->model->filterStart();
  3. $this->model->filterEqual('parent_id',0);
  4. $this->model->filterOr();
  5. $this->model->filterEqual('parent_id',1);
  6. $this->model->filterEnd();
  7. $items = $this->model->get('con_type_cats');
#4 2 июня 2021 в 10:36
Да, да, да… Вечно путаю OR и AND. Спасибо). Ну и "пока все дома", ещё вопрос). Создаю три поля(fildList). Второе и третье должны быть скрыты. Выбираю в первом открывается второе. Выбираю во втором появляется третье.
Но у меня третье не хочет скрываться. Пробовал два условия в третьем поле.
  1. 'visible_depend' => array('options:first_id' => array('hide' => array('1')))
  2. 'visible_depend' => array('options:second_id' => array('hide' => array('1')))
Не работает. Как правильно должно быть?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.