Modelos e Bancos de Dados

Gravatar de robsonperassoli robsonperassoli Tópico publicado em
15/02/2010, 16:22:30

Erro ao salvar vários registros

Buenas gurizada do spaguetti..

Acontece o seguinte erro aqui, estou salvando vários registros em um for, só que no banco só é salvo efetivamente um registro, no caso o último do laço.

o código é o seguinte:


for($i=1; $i<=$meses; $i++)
{
   $this->data['descricao'] = $descricao . ' - parcela ' . $i;
   $this->data['created'] = $date[2] .'-'. $date[1] .'-'. $date[0] . ' 00:00:00';
   $this->Despesas->save($this->data);
   $date[1]++;
}	

Alguma idéia do que esteja acontecendo? Porque já quebrei a cabeça um monte em cima disso e nem imagino o que seja.

valeu

Gravatar de Klawdyo Klawdyo Resposta publicada em
16/02/2010, 05:14:09

Erro ao salvar vários registros

Veja o que diz o manual:

Nota: quando você estiver salvando vários registros do mesmo model, como em um loop, lembre-se de definir id = null para que os registros não sejam sobrescritos.

Ou seja, você está salvando todos os registros, normalmente, acontece que a partir do segundo o Spaghetti já detecta que existe um id definido, e os registros seguintes vão sendo alterados ao invés de adicionados.

Essa modificação é específica do model 0.2. No 0.1 não tinha isso.

Gravatar de robsonperassoli robsonperassoli Resposta publicada em
17/02/2010, 12:43:28

Erro ao salvar vários registros

ahh, é claro ele retorna o que foi salvo com o id...
Entendi. Obrigado Klawdyo por ter esclarecido minha dúvida.

valeu.

Você deve estar logado para responder a um tópico ou adicionar um novo.
Efetue login ou Registre-se para participar das discussões.