lucaswxp 22 Denunciar post Postado Novembro 8, 2009 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
zenfra 0 Denunciar post Postado Novembro 10, 2009 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
lucaswxp 22 Denunciar post Postado Novembro 10, 2009 ASUsahu Não. Foi antes de te ensinar que quebrei a cabeça (pois ainda nao sabia xD) :P Compartilhar este post Link para o post Compartilhar em outros sites