protected function getDirectPermissionsByUser($userId) { $query = (new Query())->select('b.*')->from(['a' => $this->assignmentTable, 'b' => $this->itemTable])->where('{{a}}.[[item_name]]={{b}}.[[name]]')->andWhere(['a.user_id' => (string) $userId])->andWhere(['b.type' => Item::TYPE_PERMISSION]); $permissions = []; foreach ($query->all($this->db) as $row) { $permissions[$row['name']] = $this->populateItem($row); } return $permissions; }