Я успешно установил атрибут EAV, выполнив $installer->addAttribute('order', 'field', etc)
. Я также успешно запускаю наблюдателя, когда заказ сохраняется в событии sales_order_save_before/sales_order_save_after. Теперь я пытаюсь ввести данные в свое поле на наблюдателе
$observer->getOrder()->setMyField('someuniquestring');
Я пытался сделать это до сохранения и после, и в этом случае я добавляю
$observer->getOrder()->getResource()->save($order);
После поиска по всей моей базе данных уникальная строка не существует ни в одной таблице. Кроме того, если я использую getMyField() и вывожу его на экран в наблюдателе, а die() показывает установленное мной значение.
Любая помощь в том, как сохранить это в БД?
getMyField()
возвращает то, что вы ожидаете, это означает, что он сохранен в БД. - person OSdave   schedule 22.09.2011setMyField()
для экземпляра ордера наблюдателя, но ваш код сохранения сохраняет не этот экземпляр, а другой экземпляр ордера, полученный из переменной$order
. - person Jürgen Thelen   schedule 22.09.2011