In Magento 2 We can easily get customer group programmatically by using below code snippets. You are aware of How to create customer and new address programmatically in Magento 2
Below code snippets display all the customer group in the system,
Call groupCollectionFactory using __construct() in block file,
<?php
namespace Rbj\CustomerGroup\Block;
class CustomerGroup extends \Magento\Framework\View\Element\Template
{
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Customer\Model\ResourceModel\Group\CollectionFactory $groupCollectionFactory,
array $data = []
) {
$this->groupCollectionFactory = $groupCollectionFactory;
parent::__construct($context, $data);
}
/**
* Retrieve customer group collection
*
* @return GroupCollection
*/
public function getCustomerGroupCollection()
{
if (!$this->hasData('customer_group_collection')) {
$collection = $this->groupCollectionFactory->create();
$this->setData('customer_group_collection', $collection);
}
return $this->getData('customer_group_collection');
}
Call from template file,
<?php
$customerGroupCollection = $block->getCustomerGroupCollection();
foreach($customerGroupCollection as $customerGroup) {
echo 'ID '.$customerGroup->getId();
echo 'Code '.$customerGroup->getCode();
echo 'Tax class Id '.$customerGroup->getTaxClassId();
echo "<br>";
}
The output will be look like,
ID 0 Code NOT LOGGED IN Tax class Id 3
ID 1 Code General Tax class Id 3
ID 2 Code Wholesale Tax class Id 3
ID 3 Code Retailer Tax class Id 3
