Как вставить несколько строк, используя cakePHP - PullRequest
0 голосов
/ 20 февраля 2010

В проекте cakePHP, который я создаю, я хочу вставить определенное количество одинаковых записей. Они будут служить записями заполнителей, к которым будут добавлены дополнительные данные позже. Каждая запись будет содержать идентификаторы, взятые из двух belongs_to отношений, а также двух других строковых значений.

То, что я хочу сделать, это иметь возможность ввести значение для количества записей, которые я хочу создать, которое будет равняться тому, сколько раз данные зацикливаются во время сохранения.

Чего я не знаю, так это:

  1. как настроить цикл для обработки заданного количества вставок

  2. как определить поле формы в cakePHP, которое устанавливает только количество создаваемых записей.

Я попробовал следующее:

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. В верхней части экрана, над типом документа, отображается строка 12345678910, это отображается на экране

  2. Всего создано 11 записей, и только последняя запись имеет значения, переданные в форме. Я не знаю, почему создано 11 записей, а не 10, и почему только последние записи имеют введенные данные формы?

Как всегда, ваша помощь и руководство приветствуются.

1 Ответ

2 голосов
/ 20 февраля 2010
  1. на ваш взгляд попробуйте написать что-то вроде

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

    в контроллере пишет

    function add(){
        $this->Answer->saveAll($this->data);
    }
    
  2. В своем проекте я использовал jQuery, чтобы добавить новую строку без перезагрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...