值0和1的CakePHP复选框

值0和1的CakePHP复选框,cakephp,checkbox,Cakephp,Checkbox,我想为数据库的布尔字段生成一个CakePHP复选框,但它拒绝了。我试过很多不同的方法,但都不管用。 无论是否选中,该复选框始终为1。 知道有什么问题吗 echo $this->FormTB->input( 'puntuacion', array( 'checked' => true, 'value' => 1, 'label' => 'Puntuar esta empresa',

我想为数据库的布尔字段生成一个CakePHP复选框,但它拒绝了。我试过很多不同的方法,但都不管用。 无论是否选中,该复选框始终为1。 知道有什么问题吗

echo $this->FormTB->input(
    'puntuacion', 
    array(
        'checked' => true, 
        'value' => 1, 
        'label' => 'Puntuar esta empresa',
        'class' => 'checkbox', 
        'data-id' => 'puntuar'
    )
);

我已经尝试删除
“value”=>1
部分,但没有任何更改。

正如在注释中多次指出的,这正是cakephp内部运行的方式:在控制器/模型中,一个“not checked”在内部被转换为一个布尔FALSE,这同样相当于整数0

因此,这就足够了:

echo $this->FormTB->input(
    'puntuacion', array(
    'label' => 'Puntuar esta empresa',
    'class' => 'checkbox',
    'data-id' => 'puntuar'));

删除
'checked'=>true,“value'=>1,
部分

当然它总是1。这就是“选中”值。如果不想发送选中的值,请不要选中复选框。仅通过不检查它,您不会显式发送0。您发送的值最终不完全相同,并且在发布后的控制器/模型中自动表示为0。我想要的是,如果选中,则发送值1,如果未选中,则发送0@Juhana,这是我给bootstrap的表单助手起的名字,正如我已经两次指出的,已经在内部完成了。请看我的答案