Intereting Posts

Сохранять несколько раз в CakePHP

Я хочу сохранить 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']); } 

Вам нужно вызвать 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' ] ); } ?> 

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

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

Примечание. Очень важно вызвать метод create () модели перед вызовом метода save () модели, если намерение состоит в создании новой записи.

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