I have created a custom column in order table of Magento 2 with the name:
order_detail_data
Now, I want to save some custom data in this column by using
sales_order_place_before
My Observer code against above-mentioned event is:
namespace Vendor\Module\Observer;
use Magento\Framework\Event\ObserverInterface;
class OrderPlacebeforeSaveData implements ObserverInterface
{
protected $_coreSession;
public function __construct(
\Magento\Framework\Session\SessionManagerInterface $coreSession
) {
$this->_coreSession = $coreSession;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$orderDetailData = $this->_coreSession->getOrderDetailSession();
$order = $observer->getEvent()->getOrder();
$order->setData('order_detail_data', json_encode($orderDetailData));
$order->save();
}
}
But unfortunately, I am not able to save data in this column.
Best Answer
You can use
sales_model_service_quote_submit_before
event or as SohelRana said you can usesales_order_place_after
and add this below code :