Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Erro: Record not found in table "produtos" ao tentar Salvar em Editar produtos

public function novo(){
        $produtosTable = TableRegistry::get('Produtos');
        $produto = $produtosTable->newEmptyEntity();
        $this->set('produto', $produto);
    }

    public function salva(){
        $produtosTable = TableRegistry::get('Produtos');
        $produto = $produtosTable->newEntity($this->request->getData());
        if($produtosTable->save($produto)){
            $msg = "funfou";
        }else{
            $msg = "nao funfou";
        } 
        $this->set('msg', $msg);
    }

    public function editar($id){
        $produtosTable = TableRegistry::get('Produtos');
        $id = (int)$id;
        $produto = $produtosTable->get($id);
        $this->set('produto', $produto);
        $this->render('novo');
    }

A função editar() renderiza a página do formulário produzida na função novo() e resgata corretamente os dados do produto já cadastrado. Porém, na hora de salvar, lança uma exception dizendo que não encontra no banco. Não entendo como pode dar esse erro depois de preencher com sucesso o form.