我想让用户一次发布或取消发布一些文章。因此,在文章列表视图中,我想在每一行(文章)旁边放置一个复选框并将这些复选框发送到控制器。
我尝试$this->Form->input('status')
在循环中的每一行之后使用,但它为每篇文章创建了相同的复选框。(输入名称和ID相同)
如何创建一组复选框或类似的东西?以及如何在控制器中检查它们?
注意:每篇文章都有一个status
字段,即tinyint
1 个字符的字段。(所以 Cake 可以理解它是一个复选框)
我想让用户一次发布或取消发布一些文章。因此,在文章列表视图中,我想在每一行(文章)旁边放置一个复选框并将这些复选框发送到控制器。
我尝试$this->Form->input('status')
在循环中的每一行之后使用,但它为每篇文章创建了相同的复选框。(输入名称和ID相同)
如何创建一组复选框或类似的东西?以及如何在控制器中检查它们?
注意:每篇文章都有一个status
字段,即tinyint
1 个字符的字段。(所以 Cake 可以理解它是一个复选框)
您需要为每个输入指定一个“索引”。
取而代之的是:
$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');
它的“索引”只是一个确保生成“唯一”输入的计数器。但是,重要的是每一行都包含该行的输入id
;CakePHP 将需要它来确定它应该更新哪个记录的状态。
可以在此处找到有关字段/输入命名的文档: