sql >> Databasteknik >  >> RDS >> Mysql

magento tabell försäljnings_lägenhet_order fält skydda_kod förklaring

Var genereras den?

Om du tittar i app/code/core/Mage/Sales/Model/Order.php på runt linje 2052 , hittar du följande:

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

Det är här protect_code genereras för ordern (med en kombination av md5, uniqid och slumpmässigt heltal.

Vad används det till?

Om du tittar i app/code/core/Mage/Sales/Helper/Guest.php och hitta loadValidOrder fungera. Du kommer att se protect_code används i vissa områden för att säkerställa att beställningen som laddas är den korrekta för gästens cookievärde.

Det används också inom andra områden, till exempel spårningsinformationsjämförelser. Du kan se flera instanser av getProtectCode() metod som anropas i leveransmodellerna för att jämföra beställningen med spårningsinformationen. Ett exempel på en funktion som använder den är:

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;
}

Som du kan se med $this->getProtectCode() == $track->getProtectCode() , spårnings protect_code måste matcha försändelsens protect_code .




  1. SQL DROP TABLE-sats och olika användningsfall

  2. Hur CONCAT() fungerar i MariaDB

  3. 2 sätt att skapa en tabell om den inte redan finns i Oracle

  4. Lägg till en unik begränsning för kombinationen av två kolumner