Не меняются значения параметров если их редактировать в базе

Обсуждение смены дизайна, дополнительного функционала, SEO и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Не меняются значения параметров если их редактировать в базе

Сообщение Calvin » 15 сен 2012, 01:47

Продолжаю разбираться в программировании на примере вашего отличного кода *BRAVO*
Но столкнулся с тем, что при попытке сменить значение какой-нибудь настройки (таблица configuration) напрямую через базу (каким нибудь sql менеджером) происходят непонятные мне вещи:

в таблице значение меняется (даже в админку в грид оно выводится новое) но функция param() в других частях приложения возвращает старое значение... *WALL*
Если менять не напрямую, а через админку, то все в порядке.

С чем это связано? с кэшированием? какое то поведение задействуется?

И кстати при смене настройки через админку не меняется значение date_updated и не понятно почему этот функционал реализован через поведение. Разве не для этого тип в mySQL current_timestamp on update current_timestamp ?
Если можете, разъясните пожалуйста

ps: Если это важно HeidiSQL при смене значения настроки выдает ошибку "0 rows updated when should have been 1" хотя значение все равно меняется. PhpMyAdmin меняет без ошибки, но все равно param() выводит старое значение
Calvin
Незнакомец
 
Сообщения: 2
Зарегистрирован: 15 сен 2012, 01:09
Очки репутации: 0

Re: Не меняются значения параметров если их редактировать в

Сообщение Xpycm » 15 сен 2012, 19:05

Значение настроек из таблицы configurations кешируется. За подробностями смотрите файл protected\modules\configuration\components\Configuration.php
И, естественно, если менять значения напрямую из phpMyAdmin, то необходимо удалять файлы кеша из protected/runtime/cache

В модели protected\modules\configuration\models\ConfigurationModel.php при сохранении кеш чистится: в методе beforeSave вызывается Configuration::clearCache();
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Не меняются значения параметров если их редактировать в

Сообщение Calvin » 15 сен 2012, 22:13

Спасибо! Вот оно что........
Calvin
Незнакомец
 
Сообщения: 2
Зарегистрирован: 15 сен 2012, 01:09
Очки репутации: 0


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7