sql >> データベース >  >> RDS >> Mysql

Magentoテーブルsales_flat_orderフィールドprotect_codeの説明

    どこで生成されますか?

    app/code/core/Mage/Sales/Model/Order.phpを見ると 2052行あたり 、次のようになります:

    $this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
    

    ここでprotect_code 順序に対して生成されます(md5、uniqid、およびランダム整数の組み合わせを使用します。

    それは何のために使われますか?

    app/code/core/Mage/Sales/Helper/Guest.phpを見ると loadValidOrderを見つけます 働き。 protect_codeが表示されます ロードされる注文がゲストのCookie値に対して正しいものであることを確認するために一部の領域で使用されます。

    また、追跡情報の比較など、他の分野でも使用されます。 getProtectCode()のいくつかのインスタンスを見ることができます 注文を追跡情報と比較するために、Shipmentモデルで呼び出されるメソッド。これを使用する関数の例は次のとおりです。

    public function getTrackingInfoByTrackId()
    {
        $track = Mage::getModel('sales/order_shipment_track')->load($this->getTrackId());
        if ($track->getId() && $this->getProtectCode() == $track->getProtectCode()) {
            $this->_trackingInfo = array(array($track->getNumberDetail()));
        }
        return $this->_trackingInfo;
    }
    

    $this->getProtectCode() == $track->getProtectCode()でわかるように 、トラッキングprotect_code 出荷のprotect_codeと一致する必要があります 。




    1. クエリの結果をMySQLの変数に設定します

    2. PostgreSQLデータベースサービス

    3. nodejsでmysqlスキーマを作成する方法

    4. PHPで次と前のリンクを構築する方法は?