I have an Observer for checkout_onepage_controller_success_action
and I would like to load ALL order information inside this observer: order items, options, customer info.
I have tried a number of different things, I will include them (commmented out) below.
<?php
namespace Company\Reports\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Request\DataPersistorInterface;
use Magento\Framework\App\ObjectManager;
class ReportObserver implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer) {
/*
//doesn't work
$order = $observer->getEvent()->getOrder();
echo $orderId = $order->getId();
echo "<pre>";
print_r($order);
echo "</pre>";
*/
/*
//doesn't work
$orderId = $observer->getEvent()->getOrderIds();
$order = $this->order->load($orderId);
$orderid=$order->getEntityId();
$custLastName= $orders->getCustomerLastname();
$custFirsrName= $orders->getCustomerFirstname();
$ipaddress=$order->getRemoteIp();
$customer_email=$order->getCustomerEmail();
$customerid=$order->getCustomerId();
echo "<pre>";
print_r($order);
echo "</pre>";
*/
/*
//doesn't work
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
echo "<pre>";
//print_r($order);
echo "</pre>";
echo "<hr>";
echo "<pre>";
print_r( $order->getAllItems() );
echo "</pre>";
*/
/*
//doesn't work
$order_ids = $observer->getEvent()->getOrderIds()[0];
//$order = $this->_order->get($order_ids);
$order = $this->order->get($order_ids);
$order_id = $order->getIncrementId();
$customer_email = $order->getCustomerEmail();
foreach ($order->getAllVisibleItems() as $item)
{
$item->getName();
$item->getSku();
echo $item->getName();
}
*/
$orderIds = $observer->getEvent()->getOrderIds();
echo $orderId = $orderIds[0];
// can do sql queries here
echo "<hr>";
//print_r("order done");
exit;
}
}