Чтобы извлечь данные в ассоциативный массив с ключами, названными полями, вы можете написать следующее:
$query = \Drupal::database()->select('students')
->fields('students', [
'id',
'firstname',
'lastname',
'email',
'user'
]);
$results = $query->execute()->fetchAllAssoc();
После этого вы можете перебирать $results
и создавать страницы:
foreach ($results as $result) {
// Create node object.
$node = Node::create([
'type' => 'page',
'title' => 'whatever you want',
'field_machine_name' => 'field_value',
'firstname' => $result['firstname'],
]);
$node->save();
}
Имейте в виду, что использование инъекций зависимостей везде, где вы можете. Также вы можете проверить наличие ошибок, например, есть ли пакет под названием «page», и запускать его, только если он есть.