ใน submitForm() ฉันต้องการเปลี่ยนเส้นทางไปยังตัวควบคุมและส่งค่าแบบฟอร์ม ค่าแบบฟอร์มเป็นอาร์เรย์ทั้งหมด btw
นี่คือแบบฟอร์มการส่ง
ฟังก์ชันสาธารณะ submitForm (อาร์เรย์ &$form, FormStateInterface $form_state) {
// รับค่า
$demo_values = $form_state->getValue('สาธิต');
$data_set_value = $form_state->getValue('data_set');
$engineering_degrees1 = $form_state->getValue('engineering_degrees1');
$engineering_degrees2 = $form_state->getValue('engineering_degrees2');
$engineering_degrees3 = $form_state->getValue('engineering_degrees3');
$engineering_degrees4 = $form_state->getValue('engineering_degrees4');
$physical_science_degrees = $form_state->getValue('กายภาพ_วิทยาศาสตร์_องศา');
# ตั้งค่าข้อมูลแบบฟอร์มในการเปลี่ยนเส้นทาง URL
$params = ['สาธิต' => $demo_values,
'data_set' => $data_set_value,
'engineering_degrees1' => $engineering_degrees1,
'engineering_degrees2' => $engineering_degrees2,
'engineering_degrees3' => $engineering_degrees3,
'engineering_degrees4' => $engineering_degrees4,
'physical_science_degrees' => $physical_science_degrees];
$form_state->setRedirect('stats_degrees.render_chart',$params);
}
}
นี่คือไฟล์ YML การกำหนดเส้นทางของฉัน
stats_degrees.render_form:
เส้นทาง: '/statistics/stats-degrees'
ค่าเริ่มต้น:
_title: 'ปริญญาวิศวกรรมศาสตร์และวิทยาศาสตร์กายภาพที่ได้รับจากสมาชิกของกลุ่มที่ด้อยโอกาส'
_form: '\Drupal\stats_degrees\Form\StatsDegreesForm'
ความต้องการ:
_permission: 'เข้าถึงเนื้อหา'
stats_degrees.render_chart:
เส้นทาง: '/statistics/stats-degrees-chart/{demos}/{data_set}/{engineering_degrees1}/{engineering_degrees2}/{engineering_degrees3}/{engineering_degrees4}/{physical_science_degrees}'
ค่าเริ่มต้น:
_controller: '\Drupal\stats_degrees\Controller\StatsDegreesController::stats_degrees_chart'
ความต้องการ:
_permission: 'เข้าถึงเนื้อหา'
นี่คือการเรียกเมธอด Controller ของฉัน
สถิติฟังก์ชันสาธารณะ stats_degrees_chart($demo,$data_set,$engineering_degrees1,$engineering_degrees2,$engineering_degrees3,$engineering_degrees4,$physical_science_degrees) {
ขณะนี้เกิดข้อผิดพลาด 500 หลังจากที่ฉันส่งแบบฟอร์ม มีวิธีที่ดีกว่าในการส่งพารามิเตอร์ไปยังคอนโทรลเลอร์หรือไม่?