Forms 在CakePHP中使用FormHelper选择多个复选框

Forms 在CakePHP中使用FormHelper选择多个复选框,forms,cakephp,Forms,Cakephp,所以在某个模型的索引视图中,我包含了一些复选框;我有一周中的一系列天数,因此每个记录有7个可用复选框 我可以保存数据,没问题。我搞不懂的是如何根据每条记录保存的数据预先选择复选框。目前我必须这样做: <?php if ( isset($user['SurveyAssignment'][0]['active_days']['Monday']) && $user['SurveyAssignment'][0]['active_days']['Monday'] == 1 ) { $

所以在某个模型的索引视图中,我包含了一些复选框;我有一周中的一系列天数,因此每个记录有7个可用复选框

我可以保存数据,没问题。我搞不懂的是如何根据每条记录保存的数据预先选择复选框。目前我必须这样做:

<?php if ( isset($user['SurveyAssignment'][0]['active_days']['Monday']) && $user['SurveyAssignment'][0]['active_days']['Monday'] == 1 ) { $monChecked = true; } else { $monChecked = false; } ?>
<?php echo $this->Form->input('SurveyAssignment.' . $count .'.active_days.Monday', array('type' => 'checkbox', 'label' => false, 'div' => false, 'checked' => $monChecked));?>

那只是一天,一张唱片。现在,我做了7次,每一张唱片。它非常臃肿

我本以为我可以读取每个记录的数组,并相应地选择一组复选框


我确信我遗漏了一些非常简单的东西,但我现在看不清楚。

如果您的关联设置正确,字段名称正确,并且您传递的数据正确,那么它们将自动为您选择


可能的答案是您没有为表单输入使用正确的字段或Model.field。

如果您的关联设置正确,字段名称正确,并且您正在传递正确的数据,则会自动为您选择这些关联


可能的答案是表单输入没有使用正确的字段或Model.field。

问题是一周中的天数存储在一个数组中,该数组被序列化并存储在db字段中。我在做任何事情之前都会先取消序列化,但这些天本身并不是模型结构的一部分。这会导致问题吗?这会导致您无法使用Cake的automagic,并迫使您执行与当前相同的代码。问题是一周中的天数存储在数组中,数组被序列化并存储在db字段中。我在做任何事情之前都会先取消序列化,但这些天本身并不是模型结构的一部分。这会导致问题吗?这会导致您无法使用Cake的automagic,并迫使您执行当前正在执行的代码。