Magento2 observer returns'中的订单存储库;没有orderId为'的实体;马根托2号

Magento2 observer returns'中的订单存储库;没有orderId为'的实体;马根托2号,magento2,Magento2,当执行事件“controller\u action\u predispatch\u checkout\u index\u index”时,我试图从数据库中获取订单(不是签出后将创建的订单,而是数据库中已经存在且之前创建的订单)。我正在通过订单存储库加载订单,它可以运行 use Magento\Sales\Api\OrderRepositoryInterface as OrderRepository; $this->orderRepository->get($approvalOrde

当执行事件“controller\u action\u predispatch\u checkout\u index\u index”时,我试图从数据库中获取订单(不是签出后将创建的订单,而是数据库中已经存在且之前创建的订单)。我正在通过订单存储库加载订单,它可以运行

use Magento\Sales\Api\OrderRepositoryInterface as OrderRepository;

$this->orderRepository->get($approvalOrderId);

当我尝试加载相同的订单,并在执行事件“sales\u order\u place\u after”时使用相同的代码示例时,它不起作用。我收到错误“没有orderId为的实体”

可能是订单当时还没有保存。但是你正在观察的事件已经携带了order对象。您可以在Observators execute函数中尝试以下代码吗

public function execute(EventObserver $observer)
{
    $order = $observer->getEvent()->getOrder();
    //do something with the $order
}

感谢您的回复,但正如我所说,我不想从观察者那里获得订单,我想获得与该事件/观察者无关的另一个订单。