Сохранить несколько раз в Cakephp - PullRequest
5 голосов
/ 27 июля 2011

Я хочу сохранить 10 раз в Cakephp, используя функцию Save с циклом for, но, похоже, это не работает.Он сохраняет только одни данные.

Как мы можем сделать так, чтобы он сохранял несколько данных за один вызов?

Ниже мой код ...

        for($i=0;$i<10;$i++){
        $unique_id = $this->_unique($userData['User']['id']); // Unique id with userid as initial prefix
        $this->data['Invite'] = array('invited_user' => $userData['User']['id'], 'unique_id' => $unique_id);
        $this->User->Invite->save($this->data['Invite']);
            }

Ответы [ 2 ]

16 голосов
/ 27 июля 2011

Вам нужно вызывать Model :: create () для каждой итерации цикла.IE:

<?php
    for( $i=0; $i<10; $i++ ){
        $this->User->Invite->create( );
        $unique_id = $this->_unique($userData['User']['id']);
        $this->data['Invite'] = array('invited_user' => $userData['User']['id'], 'unique_id' => $unique_id);
        $this->User->Invite->save($this->data['Invite']);
        unset( $this->data[ 'Invite' ] );
    }
?>
0 голосов
/ 08 июля 2017

Ответ содержится в следующей книге, стр. 94: Источник: Бари, Ахсанул. Разработка приложений CakePHP (стр. 94). Packt Publishing. Kindle Edition. Это то, что вы можете найти в книге, и ответ на этот вопрос:

$this->Book->create();
$this->Book->save($this->data);

Примечание: важно вызвать метод create () модели прямо перед вызова метода save () модели, если целью является создание Новая запись.

Другими словами, вам нужно использовать create () перед save () каждый раз, когда вы используете save ().

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