code: protected function loadTableForeignKeys($tableName)
      {
          static $actionTypes = [
              0 => 'CASCADE',
              1 => 'RESTRICT',
              2 => 'NO ACTION',
              3 => 'SET NULL',
          ];
  
          $foreignKeys = $this->db->getSlavePdo()->cubrid_schema(\PDO::CUBRID_SCH_IMPORTED_KEYS, $tableName);
          $foreignKeys = ArrayHelper::index($foreignKeys, null, 'FK_NAME');
          ArrayHelper::multisort($foreignKeys, 'KEY_SEQ', SORT_ASC, SORT_NUMERIC);
          $result = [];
          foreach ($foreignKeys as $name => $foreignKey) {
              $result[] = new ForeignKeyConstraint([
                  'name' => $name,
                  'columnNames' => ArrayHelper::getColumn($foreignKey, 'FKCOLUMN_NAME'),
                  'foreignTableName' => $foreignKey[0]['PKTABLE_NAME'],
                  'foreignColumnNames' => ArrayHelper::getColumn($foreignKey, 'PKCOLUMN_NAME'),
                  'onDelete' => isset($actionTypes[$foreignKey[0]['DELETE_RULE']]) ? $actionTypes[$foreignKey[0]['DELETE_RULE']] : null,
                  'onUpdate' => isset($actionTypes[$foreignKey[0]['UPDATE_RULE']]) ? $actionTypes[$foreignKey[0]['UPDATE_RULE']] : null,
              ]);
          }
  
          return $result;
      }
docs: {@inheritdoc}