CakePHP 3 - 将复选框设置为在编辑视图中选中

CakePHP 3 - Set checkbox to checked in edit view

也许我对这一点视而不见,但我苦苦挣扎了一个多小时,却找不到解决办法。

我的目标是在编辑视图中创建一个复选框,该复选框在数据库中设置为 "yes",也将显示为已选中。

我的输入字段如下所示:

<?php
    echo $this->Form->checkbox(
        'active',[
            'value'=>'yes',
            'hiddenField'=>'no'
        ]
    );
?>

保存值,有效。 但是如果值 "Yes" 被保存,我再次调用编辑视图,复选框没有标记为选中。

有什么办法可以解决这个问题吗?对于相应的用户来说,在剩余的输入字段中获得发出的值会更愉快。

你有什么想法或方法吗?

提前致谢。

我觉得应该

echo $this->Form->checkbox('active', [
    'checked' => $your_table->active == 'yes' ? true : false,
]);

不要忘记使用 $this->set(compact('your_model')); 编辑记录。