Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucaswxp

[Dica Rápida] - Salvando dados de diferentes models ao mesmo tempo no

Recommended Posts

Olá pessoal.

Recentemente passei por um problema. Estava querendo salvar dados de diferentes modelos ao mesmo tempo. Quebrei a cabeça por um tempo para achar um método que fazia isso, e quando descobri, ví que era bastante simples (maldito manual!) xD

Considere o seguinte código:

 

<?php
    echo $form->create('Arquivo' , array('action' => 'cadastrar'));
    echo $form->input('Arquivo.titulo');
    echo $form->input('Servidor.url');
    echo $form->end('Cadastrar');
?>

<?php
   class ArquivosController extends AppController {
     function cadastrar(){
       $this->Arquivo->save($this->data);
     }
}
?>

Neste exemplo, será salvo apenas os dados referente ao model "Arquivo" (pois é o que estamos utilizamos) e os dados de "Servidor" simplesmente não serão salvos. A solução para isso é trocar o método Model::save() por Model::saveAll()

 

<?php
   class ArquivosController extends AppController {
     function cadastrar(){
       $this->Arquivo->saveAll($this->data);
     }
}
?>

Simples, não é? Pois é... e eu quebrei a cabeça com isso :P

OK! Uma das vantagens disso é que também salvará os "relacionamentos" entre os models. Por exemplo, se Arquivo hasMany Servidor então ele salvará automaticamento o id de Arquivo nos dados de Servidor, criando assim, o relacionamento.

 

Bom é isso. Espero que ajude mais alguem. =D

 

Fonte: http://lucaspelegrino.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu eu tinha te perguntado isso essa semana e você tinha me dito para fazer isso ! :P Quebrou a cabeça e já tinha me ensinado ! rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.