Цикл Cakephp сохраняет в базе данных, по какой-то причине он сохраняет только в последнем экземпляре цикла? - PullRequest
1 голос
/ 17 июля 2010

Я пытаюсь получить этот цикл для сохранения новой записи в базу данных в cakephp на каждой итерации, но по какой-то причине он сохраняет ее только на последней (поэтому в этом случае он сохраняет запись с именем «test9», но нет других .. этот тип сохранения работал для меня до сих пор в CakePHP, и я полностью озадачен этим, я был бы признателен за любой совет

Выходные данные отладки просто дают это для каждой записи (включая сохранение, которое работает), поэтому я не могу ничего из этого определить:

26 ВЫБРАТЬ СЧЕТ () КАК count ИЗ proxylinks КАК Proxylink ГДЕ Proxylink. id = 13 1 1 0 27 ВЫБРАТЬ СЧЕТ () КАК count ОТ proxylinks КАК Proxylink ГДЕ Proxylink. id = 13 1 1 0 28 ОБНОВЛЕНИЕ proxylinks SET link = 'test9' ГДЕ proxylinks. id = 13 1 0

  $count = 10;
    $v = 1;
      do {

          ######### save link to database
          $this->Prox->Proxylink->set(array('link' => 'test' . $v));
          $this->Prox->Proxylink->save();

          $v++;
      } while ($v < $count);

1 Ответ

5 голосов
/ 17 июля 2010

Вам нужно позвонить ->create(), в противном случае он обновляет ранее сохраненную запись.

Цитирование руководства:

При вызове save в цикле не забудьте позвонить create().

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