Magento:无法将数据保存在数据库上的多个表上



我遵循了一些建议,将一些数据从一个表复制到数据库上的另一个表,但它不起作用。

根据我收到的关于这个问题的回复: Magento:如何将数据保存到order_payment和quote_payment

我尝试在法师/销售/等/配置.xml文件上执行以下操作

<sales_convert_order_payment>
            <cc_bankname>
                <to_quote_payment>cc_bankname</to_quote_payment>
            </cc_bankname>
</sales_convert_order_payment>

而这个

<sales_convert_quote_payment>
            <cc_bankname>
                <to_order_payment>cc_bankname</to_order_payment>
            </cc_bankname>
</sales_convert_quote_payment>

但是银行名称仅保存在sales_flat_quote_payment表上,而不是保存在sales_flat_order_payment表上,这是我需要在订单发票和订单/视图下的管理员后端显示此新数据。

如果我在数据库(即银行名称)上手动输入数据,我可以在需要的地方显示此信息,但我无法跟踪每笔交易以在订单完成后手动输入数据,因为客户可以看到他们的订单详细信息一旦汇总,他们将无法查看新数据,直到我自己这样做。

有谁知道为什么数据没有转移到sales_fat_order_payment表中?

我在创建的新手机号码属性中遇到了同样的问题,但我相信如果我能解决这个问题,那么我应该能够处理所有其他类似的问题。

这种技术(使用与Mage相同的名称命名它)不适用于config.xml。它是如何工作的?你需要阅读这篇由Alanstorm撰写的文章 http://alanstorm.com/magento_config_declared_modules_tutorial

你需要通过在app/etc/modules中定义它来创建自己的模块(当然你应该命名它而不是Mage)。

例如: app/etc/modules/Test_Sales.xml

内容:

<?xml version="1.0"?>
<config>
    <modules>
        <Test_Sales>
            <active>true</active>
            <codePool>local</codePool>
        </Test_Sales>
    </modules>
</config>

app/code/local/Test/Sales/etc/config.xml ->在此处定义您的新配置

在旧版本的洋红色中,销售订单以eav类型存储。在更高版本中,它已被扁平化。看名字:sales_flat_quote_paymentsales_flat_order_payment

Magento始终保持其数据向后兼容,这就是为什么它在eav_attribute中具有属性名称cc_owner的原因。

在您的情况下,您不需要在eav_attribute中创建新值(您只需要在sales_flat_quote_paymentsales_flat_order_payment中添加列cc_bankname,我很确定您已经创建了)。

正如您之前所说,它没有保存到sales_flat_order_payment的问题是因为缓存问题(Magento缓存配置.xml因此您需要将其刷新System > Cache Management > Configuration

最新更新