I am not able to get order details in observer using sales_order_save_before event:-
Path: - /app/code/Company/Mymodule/etc/events.xml
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="catalog_category_delete_after"> <observer name="Mymodule" instance="Company\Mymodule\Observer\Onafterdelete"/> </event> <event name="sales_order_save_before"> <observer name="Mymodule" instance="Company\Mymodule\Observer\Onbeforesaveorder"/> </event> </config> Path:- /app/code/Company/Mymodule/Observer/Onbeforesaveorder.php
class Onbeforesaveorder implements \Magento\Framework\Event\ObserverInterface { protected $_resource; /** * @var \Psr\Log\LoggerInterface */ protected $_logger; public function __construct( \Psr\Log\LoggerInterface $logger, \Magento\Framework\App\ResourceConnection $resource ) { $this->_logger = $logger; $this->_resource = $resource; } public function execute(\Magento\Framework\Event\Observer $observer) { $orderObj = $observer->getOrder(); $order = $observer->getEvent()->getOrder(); if($order->getId()){ $this->_logger->debug($order->getEntityId()." observer1111"); } if ($orderObj->getId()){ $this->_logger->debug($orderObj->getEntityId()." observer22222"); } $this->_logger->debug("observer3333");// event is fired because I am getting this message in my log file. return $this; } } I am trying two way to get order ID in my code but both way is not working.
Please let me know if I am missing any thing or doing wrong as event is fired but not able to get order details in observer.