Get Administrators Role’s User Ids programmatically in Magento 2
Hello Friends!!!
In this article, we will learn how we can get all user ids of the ‘Administrators‘ user role in Magento 2.
Here, to get the user Ids, I have created a method getAdminUserIds in the following Helper class file.
You can add this method to your required class file and can call on the required places in your code.
<?php
/**
* Webkul Software.
*
* @category Webkul
* @package Webkul_CustomModule
* @author Webkul Software Private Limited
* @copyright Webkul Software Private Limited (https://webkul.com)
* @license https://store.webkul.com/license.html
*/
namespace Webkul\CustomModule\Helper;
use Magento\User\Model\ResourceModel\User\CollectionFactory as UserCollectionFactory;
/**
* Webkul CustomModule Helper Data.
*/
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
/**
* const ADMIN_ROLE
*/
private const ADMIN_ROLE = "Administrators";
/**
* @var UserCollectionFactory
*/
private $userCollFactory;
/**
* Constructor
*
* @param UserCollectionFactory $userCollFactory
* @param \Magento\Framework\App\Helper\Context $context
* @return void
*/
public function __construct(
UserCollectionFactory $userCollFactory,
\Magento\Framework\App\Helper\Context $context
) {
$this->userCollFactory = $userCollFactory;
parent::__construct($context);
}
/**
* Get Administrator Role's user ids
*
* @return array
*/
public function getAdminUserIds()
{
$ids = [];
try {
$userColl = $this->userCollFactory->create()
->addFieldToSelect("user_id");
$userColl->getSelect()
->where("`detail_role`.`role_name` = '".(self::ADMIN_ROLE).
"' AND user_role.parent_id=detail_role.role_id");
$userIdsColl = (!empty($userColl))?$userColl->getData():[];
foreach ($userIdsColl as $each) {
$ids[] = $each["user_id"] ?? 0;
}
} catch (\Exception $e) {
//to do here
}
return $ids;
}
}
Hope this will be helpful.
Thanks 🙂
Tags:
get admin role user ids Get Administrators Role User Ids programmatically in Magento 2 Get Administrators Role's User Ids programmatically in Magento 2 Get Administrators Roles User Ids programmatically in Magento 2
View Comments
Comment or Ask a Question
Quick Links