Не сохраняет в БД дополнительные атрибуты.

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

13.06.2011 22:21

Создал дополнительное поле в таблице sales_flat_quote_address:
$setup->getConnection()->addColumn(
        $setup->getTable('sales/quote_address'),
        'raise_amount_dsc',
        'varchar(150) NULL'
    );


При выполнении:
            $address->setData('raise_amount_dsc',"dddddddffffffffff");
            $address->setData('company',"dddddddd");
            $address->save();


В базе иземенятся только company, а raise_amount_dsc просто игнорируется.
Где я что-то "недоуказал"?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

13.06.2011 22:26

Каков класс объекта $address?

#3 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

13.06.2011 22:30

Mage_Sales_Model_Quote_Address

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

13.06.2011 22:39

Причин много может быть.
Например,
  • система может считать, что модель не менялась после загрузки из базы
  • система могла выполнить откат транзакции
  • могла произойти исключительная ситуация


Гадать бесплатно можно долго, но толку в этом мало.
Воспользуйтесь отладчиком или записывайте запросы SQL в системный журнал.

#5 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

13.06.2011 23:42

Просмотр сообщенияДмитрий Федюк (13.06.2011 22:39) писал:

Причин много может быть.
Например,
  • система может считать, что модель не менялась после загрузки из базы
  • система могла выполнить откат транзакции
  • могла произойти исключительная ситуация

Гадать бесплатно можно долго, но толку в этом мало.
Воспользуйтесь отладчиком или записывайте запросы SQL в системный журнал.


Перехватил UPDATE в списке полей нет дополнительного поля. Такое ощущение, что список полей берется откуда-то из другого места.

#6 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

14.06.2011 00:10

Может уже поздно, и башка у меня плохо варит.... Но заработало все...
Кеш у меня везде DISABLED.
Зашел туда, сделал Refresh и понажимал все кноки Flush Cashe.
По-ходу что-то все-таки кешируется.

#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

14.06.2011 00:33

Подумал на досуге и вспомнил: Magento кеширует информацию о структуре своей базы данных.

Поделиться темой: