Yii Framework Forum: Problema com múltiplas inserções no banco de dados - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema com múltiplas inserções no banco de dados não consigo adicionar mais de uma linha do bd Rate Topic: ***** 1 Votes

#1 User is offline   Adriano Mendes 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 13-October 11
  • Location:Brazil

Posted 03 February 2017 - 02:50 PM

Estou trabalhando com a 1ª versão do Yii ainda!

não consigo adicionar mais de uma linha do bd ou ele dá erro de chave primaria ou adiciona só o primeiro item
<?php
	public function actionTeste()
	{
		$model=new Documento;
		
		if(isset($_POST['Documento'])){					
			$model->attributes=$_POST['Documento'];

			$users=array('0'=>'128', '1'=>'129', '2'=>'130'); //isso é só um exemplo
			
			foreach($users as $user){
				
				$model->setIsNewRecord(true); // já testei essa linha
				
				$model->associado_id=$user;
				
				$model->tipodocumento_id='6';
				
				/*$result=$model->insert(array(
				'associado_id'=>$user->id_usuario,
				'tipodocumento_id'=>'5',
				));*/ //já teste isso tbm!
				
				$model->save();
			}
		}
		$this->render('teste',array(
			'model'=>$model,
		));
	}
}

0

#2 User is offline   Jacques 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 18
  • Joined: 26-August 12

Posted 04 February 2017 - 05:15 AM

Olá Adriano,

O problema é que você não está resetando o id do seu model dentro do loop que inclui os registros, faça isso e deve resolver:

Abaixo dessa linha:

$model->setIsNewRecord(true); // já testei essa linha

acrescente a linha:

$model->id = null;

Assim ele vai criar um novo id a cada inserção.


View PostAdriano Mendes, on 03 February 2017 - 02:50 PM, said:

Estou trabalhando com a 1ª versão do Yii ainda!

não consigo adicionar mais de uma linha do bd ou ele dá erro de chave primaria ou adiciona só o primeiro item
<?php
	public function actionTeste()
	{
		$model=new Documento;
		
		if(isset($_POST['Documento'])){					
			$model->attributes=$_POST['Documento'];

			$users=array('0'=>'128', '1'=>'129', '2'=>'130'); //isso é só um exemplo
			
			foreach($users as $user){
				
				$model->setIsNewRecord(true); // já testei essa linha
				
				$model->associado_id=$user;
				
				$model->tipodocumento_id='6';
				
				/*$result=$model->insert(array(
				'associado_id'=>$user->id_usuario,
				'tipodocumento_id'=>'5',
				));*/ //já teste isso tbm!
				
				$model->save();
			}
		}
		$this->render('teste',array(
			'model'=>$model,
		));
	}
}


0

#3 User is offline   Adriano Mendes 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 13-October 11
  • Location:Brazil

Posted 04 February 2017 - 03:07 PM

Muito obrigado Jacques!!!
Problema resolvido...

View PostJacques, on 04 February 2017 - 05:15 AM, said:

Olá Adriano,

O problema é que você não está resetando o id do seu model dentro do loop que inclui os registros, faça isso e deve resolver:

Abaixo dessa linha:

$model->setIsNewRecord(true); // já testei essa linha

acrescente a linha:

$model->id = null;

Assim ele vai criar um novo id a cada inserção.

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users