12

magento Order Increment IdからOrder Idを取得するにはどうすればよいですか?

以下を使用して、SKU から製品 ID を取得できます。

$product_id = Mage::getModel('catalog/product')->getIdBySku('ABCD1234');

上記の例では、すべてをロードすることなく、製品のデータベース entity_id だけを取得できます。私は注文のために同じことを達成したい。

4

3 に答える 3

34

Magento モデルでは、load メソッドは、ロードする属性のオプションの 2 番目の引数を取ることができます。したがって、あなたの場合、次のように動作するはずです。

   $order = Mage::getModel('sales/order')->load($incrementId, 'increment_id');
   $id = $order->getId();

フィールドの組み合わせでロードしたい場合など、より複雑なケースでは、コレクションをロードして、コレクションの最初の要素を取得できます。あなたの場合、次のようにします:

   $order = Mage::getModel('sales/order')->getCollection()
      ->addFieldToFilter('increment_id', $increment_id)
      ->getFirstItem();
于 2013-05-20T13:54:59.850 に答える
20

IncrementId から注文を読み込むことができます。

$orderIncrementId = "1000001";
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
echo $order->getId();
于 2014-10-13T21:35:05.587 に答える