【问题标题】:checkboxes for table records表记录的复选框
【发布时间】:2013-03-22 21:14:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-2.2


    【解决方案1】:

    您需要为每个输入指定一个“索引”。

    代替这个:

    $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 将需要它来确定应该更新其状态的哪个记录。

    进一步阅读

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

    FormHelper field naming conventions

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2013-07-17
      相关资源
      最近更新 更多