表记录的复选框

时间:2013-03-22 21:14:15

标签: cakephp cakephp-2.0 cakephp-2.2

我想让用户一次发布或取消发布一些文章。因此,在文章列表视图中,我想在每行(文章)旁边放置一个复选框,并将这些复选框发送给控制器。

我尝试在循环中的每一行之后使用$this->Form->input('status'),但它为每篇文章创建了相同的复选框。 (输入名称和ID相同)

如何创建一个复选框数组或类似的东西?以及如何在控制器中检查它们?

注意:每篇文章都有一个status字段,这是一个tinyint 1个字符的字段。 (所以Cake可以理解它是一个复选框)

1 个答案:

答案 0 :(得分:0)

您需要指定一个'索引'对于每个输入。

取而代之的是:

$this->Form->input('Article.status');

使用此:

$this->Form->input('Article.0.id');
$this->Form->input('Article.0.status');
$this->Form->input('Article.1.id');
$this->Form->input('Article.1.status');
// .... 
$this->Form->input('Article.xxx.id');
$this->Form->input('Article.xxx.status');

它是'指数'只是一个柜台,以确保“独特”#39;输入生成。但是, 非常重要,每行包含该行的id的输入; CakePHP将需要它来确定哪个记录它应该更新状态。

进一步阅读

有关字段/输入命名的文档可在此处找到:

FormHelper field naming conventions

CakePHP - Create a form which edits multiple rows of the same model