Фильтрация данных в модели

Обсуждаем, как правильно строить приложения
Ответить
dsamsonov
Сообщения: 5
Зарегистрирован: 2016.11.14, 12:39

Фильтрация данных в модели

Сообщение dsamsonov »

Добрый день.

Собственно есть такая "хотелка": нужен флаг активности статей, при снятии которого статьи в любом месте на сайте не будут показываться. Собственно вопрос даже не столько в конкретной ситуации - она взята для примера и закостылить тут всё легко. Интересен больше сам подход к реализации подобных вещей во фреймворке.

Как организовать доступ к данным так, чтобы были некоторые "фильтры" по умолчанию, которые можно было бы хранить и менять централизовано? Объект у нас один, вести себя он должен одинаково на всём сайте. Если задавать каждый раз подобные фильтры при обращении к модели, то можно где-то что-то со временем забыть/упустить. Если понадобится новый фильтр, допустим по дате начала и окончания активности, надо будет найти все обращения к модели править. Это грустно и абсолютно нелогично.

Помогите новичку во фреймворке разобраться
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Фильтрация данных в модели

Сообщение samdark »

Если с моделями вы работаете централизованно через, например, репозиторий, то можно встроить проверку этого флага в репозиторий.
dsamsonov
Сообщения: 5
Зарегистрирован: 2016.11.14, 12:39

Re: Фильтрация данных в модели

Сообщение dsamsonov »

Я не совсем это имел ввиду

Задача, если упростить, такая. Есть в базе данных статей булево значение активности. Зашел я через админку на сайт и поменял значение с true на false, и тем самым отключил отображение статей на всём сайте сразу.

Сейчас такой вариант я могу реализовать, только если при запросе к БД укажу в фильтре значение флага active = true. Соответственно в скольких местах есть вызов, в стольких и надо указывать этот фильтр. А хочется для этого одно место придумать.

Как вариант у меня пока в голове только сделать функцию-обертку в модели, и получать все данные только с помощью неё. Это пахнет костылями, но должно сработать. Собственно хочется узнать, есть ли "правильные" способы решения этого вопроса.
dsamsonov
Сообщения: 5
Зарегистрирован: 2016.11.14, 12:39

Re: Фильтрация данных в модели

Сообщение dsamsonov »

круто! именно то, что было нужно))
спасибо
Ответить