/**
  * Получение информации о полях в таблице
  *
  * @return array
  */
 private function getTableInfo()
 {
     // Спрашиваем пользователя
     echo PHP_EOL . 'Информацию по какой таблице ты хочешь посмотреть (введи название таблицы): ';
     $answer = trim(fgets(STDIN));
     // Обнуляем счетчик сгенерированных записей
     $this->newRecordsGenerated = 0;
     // Выставляем в анализаторе эту таблицу
     $this->tableAnalyzer->setTable($answer);
     // Получаем основную информацию
     return ['name' => $answer, 'columns' => $this->tableAnalyzer->getColumns(), 'relations' => $this->tableAnalyzer->getRelations(), 'rows' => $this->tableAnalyzer->getRowsCount()];
 }
 /**
  * Генерация данных в связанных таблицах
  */
 private function generateRelatedTables()
 {
     // Получаем информацию о Foreign Keys
     $relations = $this->analyzer->getRelations();
     // Если их нет - выходим
     if (empty($relations)) {
         return;
     }
     // Создаем временный анализатор таблиц,
     // будем его натравливать на связанные таблицы
     $tmpAnalyzer = clone $this->analyzer;
     // Генерируем данные в каждой связанной таблице
     foreach ($relations as $relationInfo) {
         // Указываем анализатору необходимую таблицу
         $tmpAnalyzer->setTable($relationInfo['to_table_name']);
         // Если в ней слишом мало данных - запускаем генератор данных для нее
         $rowsCount = $tmpAnalyzer->getRowsCount();
         if ($rowsCount < self::MIN_RELATED_TABLES_ROWS_COUNT) {
             $tableDataGenerator = new TableDataGenerator($tmpAnalyzer);
             $tableDataGenerator->generate(self::MIN_RELATED_TABLES_ROWS_COUNT - $rowsCount);
         }
     }
 }