CakePHP:读取无线电表格的值

时间:2017-06-06 09:05:56

标签: forms cakephp model-view-controller save cakephp-3.0

我想阅读我正在尝试使用的表单的值:

<!-- File: src/Template/Users/edit.ctp -->
<?php
    echo '<p>Question 1 text</p>';
    echo $this->Form->radio(
    'answer_1',
    [
    ['value' => 'true', 'text' => 'Radio 1 text'],
    ['value' => 'false', 'text' => 'Radio 2 text'],
    ['value' => 'false', 'text' => 'Radio 3 text'],
    ['value' => 'false', 'text' => 'Radio 4 text'],
    ]
    );

    echo '<p>Question 2 text</p>';
    echo $this->Form->radio(
    'answer_2',[
    ['value' => 'false', 'text' => 'Radio 1 text'],
    ['value' => 'false', 'text' => 'Radio 2 text'],
    ['value' => 'true', 'text' => 'Radio 3 text'],
    ['value' => 'false', 'text' => 'Radio 4 text'],
    ]
    );

    echo '<p>Question 3 text</p>';
    echo $this->Form->radio(
    'answer_3',[
    ['value' => 'false', 'text' => 'Radio 1 text'],
    ['value' => 'false', 'text' => 'Radio 2 text'],
    ['value' => 'false', 'text' => 'Radio 3 text'],
    ['value' => 'true', 'text' => 'Radio 4 text'],
    ]
    );

echo $this->Form->button(__("Save"));
echo $this->Form->end();
?>

我想在我的编辑功能中读取提交的无线电的值,以便计算每个“真实”的分数。你知道怎么在我的控制器里做吗?问题和答案都没有存储在DB中,它们在视图中是硬编码的。

奖励点:我想在DB中保存表单的特定答案,可能吗?例如,一个奖金问题:

echo '<p>Bonus question text</p>';
echo $this->Form->control('bonus_answer');

由于

1 个答案:

答案 0 :(得分:2)

您可以找到如何获取请求数据here

3.0 - 3.3

您正在寻找的是

$this->request->data('answer_1');
$this->request->data('answer_2');
$this->request->data('answer_3');

AS OF 3.4

不推荐使用$this->request->data()

您正在寻找的是

$this->request->getData('answer_1');
$this->request->getData('answer_2');
$this->request->getData('answer_3');

输入的“名称”是函数的第一个参数$this->Form->control('INPUTNAME');