Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';t保存在事件观察程序中_Php_Magento_Events_Observers - Fatal编程技术网

Php Can';t保存在事件观察程序中

Php Can';t保存在事件观察程序中,php,magento,events,observers,Php,Magento,Events,Observers,我创造了一个观察者。 当它触发时,它会提取所有信息,但不会将数据插入数据库 config.xml <config> <global> <models> <connector_mysql4> <class>Custom_Connector_Model_Mysql4</class> <entities>

我创造了一个观察者。 当它触发时,它会提取所有信息,但不会将数据插入数据库

config.xml

<config>
    <global>
        <models>
            <connector_mysql4>
                <class>Custom_Connector_Model_Mysql4</class>
                <entities>
                    <taxordermap>
                        <table>tax_order_map</table>
                    </taxordermap>
                </entities>
            </connector_mysql4>
        </models>
        <events>
            <sales_order_place_after>
                <observers>
                    <orderGetShopVatSettings>
                        <class>Connector_Model_Observers_Order</class>
                        <method>setSetting</method>
                    </orderGetShopVatSettings>
                </observers>
            </sales_order_place_after>
        </events>
    </global>
</config>
据我所知,数据已保存,但不会显示在数据库中。
它并不简单地存储,尽管它存储了它。

如果这是完整的config.xml,您可能忘记为您的模型添加模型节点和资源模型:

<models>
    <connector>
       <class>Connector_Model</class>
       <resourceModel>connector_mysql4</resourceModel>
    </connector>

    <connector_mysql4>
       <class>Connector_Model_Mysql4</class>
       <entities>
          <taxordermap>
              <table>tax_order_map</table>
          </taxordermap>
       </entities>
    </connector_mysql4>
</models>

连接器模型
连接器_mysql4
连接器\u型号\u Mysql4
税单地图
另外,对于第一个视图,我认为您的_init()调用并不好。我想应该是connector/taxordermap,而不是connector/actaxordermap。 如果你有任何问题,请离开

<?php
class Connector_Model_Mysql4_Taxordermap extends Mage_Core_Model_Mysql4_Abstract{
    /**
     * Constructor
     */
    protected function _construct(){
        $this->_init('connector/actaxordermap','orderid');
    }
}
<?php 
class Connector_Model_Mysql4_Taxordermap_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract{
    /**
     * Constructor
     */
    public function _construct(){
        $this->_init('connector/actaxordermap');
    }
}
<?php

class Connector_Model_Observers_Order{
    public function setSetting(Varien_Event_Observer $observer){
        $order = $observer->getEvent()->getOrder();
        $orderid = $order->getId();
        Mage::log("orderid: $orderid");
        $shippingTax = (int)Connector_Model_System_Service::ShippingIncludesTax();
        $tax = (int)Connector_Model_System_Service::priceIncludesTax();
        Mage::log("tax: $tax");
        Mage::log("shipping: $shippingTax");
        Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
        $model = Mage::getModel('connector/taxordermap');
        $model->setOrderid($orderid);
        $model->setTax($tax);
        $model->setShipping($shippingTax);
        Mage::log($model);
        try{
            $model->save();
        }catch(Exception $e){
            Mage::log("error: $e->getMessage();");
        }
        Mage::log($model);
    }
}
2014-03-12T14:53:29+00:00 DEBUG (7): orderid: 59
2014-03-12T14:53:29+00:00 DEBUG (7): tax: 0
2014-03-12T14:53:29+00:00 DEBUG (7): shipping: 1
2014-03-12T14:53:29+00:00 DEBUG (7): Connector_Model_Taxordermap Object
(
[_eventPrefix:protected] => core_abstract
[_eventObject:protected] => object
[_resourceName:protected] => connector/taxordermap
[_resource:protected] => 
[_resourceCollectionName:protected] => connector/taxordermap_collection
[_cacheTag:protected] => 
[_dataSaveAllowed:protected] => 1
[_isObjectNew:protected] => 
[_data:protected] => Array
    (
        [orderid] => 59
        [tax] => 0
        [shipping] => 1
    )

[_hasDataChanges:protected] => 1
[_origData:protected] => 
[_idFieldName:protected] => 
[_isDeleted:protected] => 
[_oldFieldsMap:protected] => Array
    (
    )

[_syncFieldsMap:protected] => Array
    (
    )

)

2014-03-12T14:53:29+00:00 DEBUG (7): Connector_Model_Taxordermap Object
(
[_eventPrefix:protected] => core_abstract
[_eventObject:protected] => object
[_resourceName:protected] => connector/taxordermap
[_resource:protected] => 
[_resourceCollectionName:protected] => connector/taxordermap_collection
[_cacheTag:protected] => 
[_dataSaveAllowed:protected] => 1
[_isObjectNew:protected] => 
[_data:protected] => Array
    (
        [orderid] => 59
        [tax] => 0
        [shipping] => 1
    )

[_hasDataChanges:protected] => 
[_origData:protected] => 
[_idFieldName:protected] => orderid
[_isDeleted:protected] => 
[_oldFieldsMap:protected] => Array
    (
    )

[_syncFieldsMap:protected] => Array
    (
    )

)
<models>
    <connector>
       <class>Connector_Model</class>
       <resourceModel>connector_mysql4</resourceModel>
    </connector>

    <connector_mysql4>
       <class>Connector_Model_Mysql4</class>
       <entities>
          <taxordermap>
              <table>tax_order_map</table>
          </taxordermap>
       </entities>
    </connector_mysql4>
</models>