Estás leyendo la publicación: Cómo obtener la colección de pedidos de Magento 2 según la condición “Número de días”
Si está trabajando con Magento 2, es posible que a menudo necesite encontrar la colección de pedidos para días específicos o rango de fechas. Es posible que deba realizar varias acciones, como enviar un correo electrónico de agradecimiento por los pedidos completos, eliminar los pedidos pendientes, mostrar la colección de pedidos y, por último, ¡verificar los ingresos en función de los días!
Aquí, te estoy mostrando cómo, por ejemplo:
- Obtener la recogida de pedidos de un día en particular
- Obtener colección de pedidos de un rango de fechas
- Obtenga la colección de pedidos del último número de días “X”.
Método para obtener la recopilación de pedidos de Magento 2 según la condición “Número de días”:
- Obtener recogida de pedidos de un día concreto:
$orderCollection = $objectManager->get(‘Magento\Sales\Model\ResourceModel\Order\CollectionFactory’); $prev_date = date(‘Ym-d’, strtotime(‘-7 days’)); $colección = $orderCollection->create() ->addAttributeToFilter(‘status’, [‘in’ => ‘pending’]) ->addAttributeToFilter(‘created_at’, [‘gteq’=>$prev_date.’ 00:00:00′]) ->addAttributeToFilter(‘created_at’, [‘lteq’=>$prev_date.’ 23:59:59′]);
$orderCollection = $objectManager->get(‘Magento\Sales\Model\ResourceModel\Order\CollectionFactory’);
$prev_date = date(‘Ym-d’, strtotime(‘-7 days’));
$coleccion = $orderCollection->create()
->addAttributeToFilter(‘estado’, [‘in’ => ‘pending’])
->addAttributeToFilter(‘created_at’, [‘gteq’=>$prev_date.’ 00:00:00′])
->addAttributeToFilter(‘created_at’, [‘lteq’=>$prev_date.’ 23:59:59′]);
- Obtener el cobro de pedidos de un rango de fechas o de la última “X” cantidad de días:
$orderCollection = $objectManager->get(‘Magento\Sales\Model\ResourceModel\Order\CollectionFactory’); $prev_date = date(‘Ym-d’, strtotime(‘-7 days’)); $fecha_actual = fecha(‘Am-d’); $colección = $orderCollection->create() ->addAttributeToFilter(‘status’, [‘in’ => ‘pending’]) ->addAttributeToFilter(‘created_at’, [‘gteq’=>$prev_date.’ 00:00:00′]) ->addAttributeToFilter(‘created_at’, [‘lteq’=>$current_date.’ 23:59:59′]);
$orderCollection = $objectManager->get(‘Magento\Sales\Model\ResourceModel\Order\CollectionFactory’);
$prev_date = date(‘Ym-d’, strtotime(‘-7 days’));
$fecha_actual = fecha(‘Am-d’);
$coleccion = $orderCollection->create()
->addAttributeToFilter(‘estado’, [‘in’ => ‘pending’])
->addAttributeToFilter(‘created_at’, [‘gteq’=>$prev_date.’ 00:00:00′])
->addAttributeToFilter(‘created_at’, [‘lteq’=>$current_date.’ 23:59:59′]);
Eso es todo.
Si tiene alguna dificultad en cualquiera de las implementaciones de las condiciones anteriores, no dude en publicar sus dudas en la sección de Comentarios a continuación. Estaré encantado de ayudar.
No olvides calificar la publicación con 5 estrellas.
Gracias.