Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, sou novo no cakephp e consequentemente novo no forum. Estou precisando de ajuda.
Pensemos...
Eu tenho um model Noticia que é relacionado (hasMany) com o model NoticiaVideo.
No formulário de cadastro da notícia, tenho uma seção que insiro inputs dinâmicos para colocar o endereço do vídeo. O usuário poderá inserir N vídeos.
Ao salvar um novo registro Noticia com o saveAll, o cake salva tudo de uma só vez. Noticia e NoticiaVideo. Até ai, tudo perfeito.
Agora, quando vou editar este registro, a mesma forma não funciona, pois o saveAll irá adicionar um novo registro, mesmo passando o id da notícia $this->Noticia->id.
Vou pegar o exemplo do cakebook:
form->create('Empresa', array('action'=>'add'));
$form->input('Empresa.name', array('label'=>'Nome da Empresa'));
$form->input('Empresa.descrição');
$form->input('Conta.0.name', array('label'=>'Nome da Conta'));
$form->input('Conta.0.usuario');
$form->input('Conta.0.email');
$form->input('Conta.1.name', array('label'=>'Nome da Conta'));
$form->input('Conta.1.usuario');
$form->input('Conta.1.email');
$form->input('Conta.2.name', array('label'=>'Nome da Conta'));
$form->input('Conta.2.usuario');
$form->input('Conta.3.email');
...
$form->end('Add');
A action add seria assim, segundo o cakebokk
function add() {
if(!empty($this->data)) {
$this->Empresa->saveAll($this->data, array('validate'=>'first'));
}
}
Isso para adicionar funciona perfeitamente, mas para editar não funciona.
imagino que seria assim
function edit($id) {
$this->Empresa->id = $id;
if(!empty($this->data)) {
$this->Empresa->saveAll($this->data, array('validate'=>'first'));
}
}
Teria como me dá uma atenção com isso?
Obrigado, desde já!
Carregando comentários...