protected function populateItem($row) { $class = $row['type'] == Item::TYPE_PERMISSION ? Permission::className() : Role::className(); if (!isset($row['data']) || ($data = @unserialize($row['data'])) === false) { $data = null; } return new $class(['name' => $row['name'], 'type' => $row['type'], 'description' => $row['description'], 'real_title' => $row['real_title'], 'ruleName' => $row['rule_name'], 'data' => $data, 'createdAt' => $row['created_at'], 'updatedAt' => $row['updated_at']]); }