Valeu! Já tinha resolvido.

parece que você instancia, insere dados nos atributos e vai salvando um por
um, menos o principal... no caso de telefonesclientes, já salva com a
relação com tipostelefones.

Daí, pra cada instância salva, tu joga ela num array.

Quando for dar o save na instância principal, no meu caso clientes, você
passa como parâmetro o array com as "instâncias dependentes". Aí o próprio
save se encarrega de espalhar as chaves de acordo com os relacionamentos
setados nele...

BEM transparente... Fiquei abismado...

Daniel

Em 2 de abril de 2011 12:00, Jairo <[email protected]> escreveu:

> Oi Daniel,
>
> Não manjo de DataMapper, mas uma singela opinião, olhando seu modelo,
> teria a seguinte idéia :
>
> $this->db->trans_begin();
>
> $this->db->query('SQL QUERY inserindo usuarios');
> $this->db->query('SQL QUERY inserindo clientes');
> início do loop ---
>        $this->db->query('SQL QUERY inserindo tipostelefone');  ***
>        $this->db->query('SQL QUERY inserindo telefonesclientes');
> fim do loop ---
>
> if ($this->db->trans_status() === FALSE)
> {
>    $this->db->trans_rollback();
> }
> else
> {
>    $this->db->trans_commit();
> }
>
> *** tipostelefone eu acredito que vc. já deveria ter pré cadastrado
> todos os tipos possíveis e imaginários, de forma que a gravação destes
> registros NÃO estariam no loop. Não precisa.
>
> Esta é uma maneira segura / razoável de inserir dados no banco.
> A questão da manipulação dos formulários, ainda sou novato em CI, não me
> atrevo a comentar, mas imagino que tudo já foi passado para o
> controller / model. Mais adiante, terei que passar por uma situação
> semelhante a sua, onde precisarei gravar diversas tabelas, e algumas em
> loop. Uma fatura, por exemplo, onde se insere alguns registros,
> atualizam outros, etc...
>
> --
> Abs,
>
> Jairo
> Sao Paulo / SP - Brasil
>
>
> On Fri, 2011-04-01 at 23:54 -0300, Daniel Medina wrote:
> > pessoal, to com problemas.
> >
> > Antes de mais nada, aqui está o trecho do meu DER que está em questão:
> > http://img28.imageshack.us/i/derusuriosclientestelef.jpg/
> >
> > Estou montando meu script para salvar os dados no banco... Estava com
> > a ideia de setar todos os dados em cada instancia de cada modelo
> > utilizado e, no final, já salvar todo mundo com seus relacionamentos.
> >
> > Então comecei instanciando clientes e setando seus atributos. Fiz o
> > mesmo em seguida com usuários. Daí cheguei no momento em que preciso
> > salvar telefones e tipo de cada telefone inserido no formulário. Cada
> > cliente pode ter apenas um usuário, porém vários telefones. Cada
> > telefone tem um tipo.
> >
> > Atualmente, consigo loopar todos os pares telefone / tipo de telefone
> > que estão no formulário.
> >
> > A minha dúvida é: como vou fazer pra salvar todos os relacionamentos
> > ao mesmo tempo? Tava pensando em passar todas as instâncias dos
> > modelos já com os dados como parâmetro no save do modelo Clientes.
> >
> > Alguém consegue me ajudar?
> >
> > --
> > Daniel Medina
>
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>



-- 
Daniel Medina
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a