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

Responder a