/**
* Một bộ điều khiển ví dụ.
*/
lớp GenerateCertificateTable mở rộng ControllerBase {
/**
* Trả về mảng có thể hiển thị cho trang thử nghiệm.
*/
nội dung hàm công khai($nid) {
$query = \Drupal::database()->select('users_field_data', 'u');
$query->field('u', ['uid','name','mail']);
// Để phân trang, chúng ta cần mở rộng pagerselectextender và
//giới hạn trong truy vấn
$pager = $query->extend('Drupal\Core\Database\Query\PagerSelectExtender')->limit(10);
$results = $pager->execute()->fetchAll();
// kết xuất($kết quả);
// Khởi tạo một mảng rỗng
tiêu đề $ = [
'uid' => t('UID'),
'thư' => t('thư'),
'tên' => t('Tên người dùng'),
];
$ đầu ra = mảng();
// Tiếp theo, lặp qua mảng $results
foreach ($kết quả là $result) {
if ($result->uid != 0 && $result->uid != 1) {
$options[$result->uid] = [
'uid' => $result->uid,
'thư' => $result->mail,
'tên' => $kết quả->tên,
];
}
}
$form['bảng'] = [
'#type' => 'bảng',
'#header' => $header,
'#options' => $đầu ra,
'#js_select' => ĐÚNG,
'#multiple' => ĐÚNG,
'#required' => ĐÚNG,
];
// Cuối cùng thêm máy nhắn tin.
$form['máy nhắn tin'] = mảng(
'#type' => 'máy nhắn tin'
);
$build[] = $form;
trả lại bản dựng $;
}
}
Tôi đang cố gắng tạo biểu mẫu bảng bằng phần tử tableselect nhưng ngay cả sau khi tôi nhận được dữ liệu, nó vẫn hiển thị giá trị dữ liệu trống.