如何使用cakePHP插入多行

时间:2010-02-19 23:13:54

标签: sql cakephp

在我正在构建的cakePHP项目中,我想插入一定数量的相同记录。这些将用作占位符记录,稍后将添加其他数据。每条记录都将插入从两个belongs_to关系中获取的ID以及另外两个字符串值。

我想要做的是能够为我想要创建的记录数输入一个值,这相当于在保存期间循环数据的次数。

我不知道的是:

  1. 如何设置循环来处理一定数量的插入

  2. 如何在cakePHP中定义一个只设置要创建的记录数的表单字段。

  3. 我尝试的是以下内容:

    function  massAdd() {
        $inserts_required = 1;
        while ($inserts_required <= 10) {
            $this->Match->create();
            $this->Match->save($this->data);
            echo $inserts_required++;
        }
    
        $brackets = $this->Match->Bracket->find('list');
        $this->set(compact('brackets'));
    }
    

    会发生什么:

    1. 在屏幕顶部,在doc类型上方,显示字符串12345678910,这将显示在屏幕上

    2. 共创建了11条记录,只有最后一条记录具有表单中传递的值。我不知道为什么创建了11条记录而不是10条记录,为什么只有最后一条记录有输入的表格数据呢?

    3. 一如既往,感谢您的帮助和指导。

1 个答案:

答案 0 :(得分:2)

  1. 在您的视图中尝试编写类似

    的内容
    echo $form->input('Answer.n.title', array('type'=>text'));
    

    在控制器写入

    function add(){
        $this->Answer->saveAll($this->data);
    }
    
  2. 在我的项目中我使用了jQuery,无需重新加载页面即可添加新行。