我是 Magento 新手。
检查具有给定增量 ID 的订单是否已存在的正确方法是什么?
显而易见的方法:
$order = Mage::getModel('sales/order')->loadByIncrementId($reservedOrderId);
if ($order) {
Mage::log('already have order with id ' . $reservedOrderId);
return $order;
}
不起作用,因为我得到了一个新的空模型实例。
在magento中查看我是否没有该id的模型的正确方法是什么?
最佳答案
我在核心代码中看到的最常见的方法只是 load()
一个模型并检查是否分配了主键。在您的情况下,这将如下所示 - 请注意对逻辑条件的非常细微的调整($object->getId()
与 $object
):
$order = Mage::getModel('sales/order')->loadByIncrementId($reservedOrderId);
if ($order->getId()) {
Mage::log('already have order with id ' . $reservedOrderId);
return $order;
}
这是一个简单的错误,但请记住,在 Magento 数据模型上加载数据的调用将始终返回对象实例。只有如果存储后端有结果,该对象才会用数据进行修饰,从而使用主键。
关于magento - 如何检查具有给定增量 id 的订单是否已存在于 magento 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13906327/