如何使用观察者在 Magento 2 的 customer_entity 表中保存自定义字段值

Posted

技术标签:

【中文标题】如何使用观察者在 Magento 2 的 customer_entity 表中保存自定义字段值【英文标题】:How can i save custom field value in customer_entity table in Magento 2 using observer 【发布时间】:2017-06-02 15:50:29 【问题描述】:

下面是我的观察者代码:

customerFactory = $customerFactory; /** * 客户登录后升级客户密码哈希 * * @param \Magento\Framework\Event\Observer $observer * @return 无效 */ 公共函数执行(\Magento\Framework\Event\Observer $observer) $orderInstance = $observer->getEvent()->getdata(); $orderIds = $observer->getEvent()->getdata('order_ids'); $orderCount = is_array($orderIds)?count($orderIds):0; $orderId = 当前($orderIds); $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $session = $objectManager->get('Magento\Customer\Model\Session'); if($session->isLoggedIn()) $customer = $this->customerFactory->create()->load($session->getCustomerId()); $orderCount = $orderCount + $customer->getOrderCount(); $customer->setOrderCount($orderCount); $客户->保存($客户);

我不知道我做错了什么。它没有保存客户列值order_count

【问题讨论】:

你得到解决方案了吗? 【参考方案1】:

尝试使用资源模型保存客户数据更改,而不是使用模型进行保存

$customerResourceModel->save($customer);

【讨论】:

【参考方案2】:

尝试从模型中加载客户

 $customer = Mage::getModel('customer/customer')->load($session->getCustomerId());

【讨论】:

我想获得有关 Magento 2 的解决方案!顺便谢谢

以上是关于如何使用观察者在 Magento 2 的 customer_entity 表中保存自定义字段值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Magento 的观察者中获取付款方式?

将客户重定向到另一家商店-Magento 2

来自观察者的 Magento 重定向始终有效

如何判断 Magento 请求是针对前端页面还是后端页面?

Magento 可以在缓存键中使用会话变量吗?

如何使用Magento中的getQuoteItem()在购物车中添加可配置产品