/**
* ตัวอย่างตัวควบคุม
*/
คลาส 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' => t('UID'),
'จดหมาย' => t('จดหมาย'),
'ชื่อ' => t('ชื่อผู้ใช้'),
];
$output = อาร์เรย์();
// ถัดไป วนซ้ำอาร์เรย์ $results
foreach (ผลลัพธ์ $ เป็นผลลัพธ์ $) {
ถ้า ($result->uid != 0 && $result->uid != 1) {
$options[$result->uid] = [
'uid' => $result->uid,
'เมล' => $result->mail,
'ชื่อ' => $result->ชื่อ,
];
}
}
$แบบฟอร์ม['ตาราง'] = [
'#type' => 'ตาราง',
'#header' => $ส่วนหัว,
'#options' => $เอาท์พุท,
'#js_select' => จริง,
'#multiple' => จริง,
'#required' => จริง,
];
// สุดท้ายเพิ่มเพจเจอร์
$form['เพจเจอร์'] = array(
'#type' => 'เพจเจอร์'
);
$build[] = $แบบฟอร์ม;
ส่งคืน $build;
}
}
ฉันกำลังพยายามสร้างฟอร์มตารางโดยใช้องค์ประกอบ tableselect แต่แม้หลังจากที่ฉันได้รับข้อมูลแล้ว มันก็แสดงค่าข้อมูลที่ว่างเปล่า