Внесите обратный вызов beforeFind() таблицы и добавьте там свое состояние.
http://book.cakephp.org/3.0/en/orm/table-objects.html#beforefind
торт \ ORM \ Таблица :: beforeFind (Event $ событие, запрос $ запроса ArrayObject $ опции, булево $ первичный)
Событие Model.beforeFind обжигают перед каждым найти операция. Остановив событие и предоставив возвращаемое значение, вы можете полностью обойти операцию поиска. Любые изменения, сделанные для экземпляра $ query, будут сохранены для остальной части поиска. Параметр $ primary указывает, является ли это корневым запросом или связанным с ним запросом. Все ассоциации, участвующие в запросе, будут иметь событие Model.beforeFind. Для ассоциаций, которые используют объединения, будет предоставлен фиктивный запрос. В вашем слушателе событий вы можете установить дополнительные поля, условия, объединения или сформировать форму. Эти параметры/функции будут скопированы в корневой запрос.
Вы можете использовать этот обратный вызов для ограничения операций поиска на основе роли пользователя или принятия решений кеширования на основе текущей нагрузки.
Где находится метод beforeFind(), фактически расположенный и задокументированный? Я не могу найти его в документации API и хотел бы узнать больше об этом, а не только подписи метода и описания. – BadHorsie
Ну, тогда я рекомендую вам прочитать главу * цели * книги. Вам нужно реализовать этот метод в объекте таблицы с сигнатурой, потому что это обратный вызов события, как говорит вам книга. – burzum