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 ---------------------------

