public function getRolesByUser($userId)
{
if (!isset($userId) || $userId === '') {
return [];
}
$rows = (new Query())->select(['item_name'])->from($this->assignmentCollection)->where(['user_id' => (string) $userId])->all($this->db);
if (empty($rows)) {
return [];
}
$itemNames = ArrayHelper::getColumn($rows, 'item_name');
$query = (new Query())->from($this->itemCollection)->where(['name' => $itemNames])->andWhere(['type' => Item::TYPE_ROLE]);
$roles = [];
foreach ($query->all($this->db) as $row) {
$roles[$row['name']] = $this->populateItem($row);
}
return $roles;
}