/**
* Пример контроллера.
*/
класс GenerateCertificateTable расширяет ControllerBase {
/**
* Возвращает пригодный для рендеринга массив для тестовой страницы.
*/
содержимое публичной функции ($ nid) {
$query = \Drupal::database()->select('users_field_data', 'u');
$query->fields('u', ['uid','name','mail']);
//Для нумерации страниц нам нужно расширить pagerselectextender и
//лимит в запросе
$pager = $query->extend('Drupal\Core\Database\Query\PagerSelectExtender')->limit(10);
$results = $pager->execute()->fetchAll();
// дамп($результаты);
// Инициализировать пустой массив
$ заголовок = [
'uid' => т('UID'),
'почта' => т('почта'),
'имя' => т('Имя пользователя'),
];
$выход = массив();
// Далее проходим по массиву $results
foreach ($результаты как $результат) {
если ($result->uid != 0 && $result->uid != 1) {
$options[$result->uid] = [
'uid' => $результат->uid,
'почта' => $результат->почта,
'имя' => $результат->имя,
];
}
}
$ форма ['таблица'] = [
'#тип' => 'таблица',
'#header' => $заголовок,
'#options' => $ вывод,
'#js_select' => ИСТИНА,
'#множественный' => ИСТИНА,
'#required' => ИСТИНА,
];
// Наконец добавляем пейджер.
$form['пейджер'] = массив(
'#type' => 'пейджер'
);
$сборка[] = $форма;
вернуть $сборку;
}
}
Я пытаюсь создать табличную форму, используя элемент tableselect, но даже после того, как я получу данные, он показывает пустое значение данных.