public function editarAction() { $id = $this->getRequest()->getParam('id'); if (!$id || !is_numeric($id)) { $this->view->alert = array('tipo' => 'danger', 'titulo' => "Alerta", 'msg' => "ID inválido."); return $this->indexAction(); } $prodDB = new Application_Model_DbTable_Produto(); $res = $prodDB->find($id)->toArray(); if (count($res) != 1) { $this->view->alert = array('tipo' => 'danger', 'titulo' => 'Alerta', 'msg' => 'Produto não encontrado.'); return $this->indexAction(); } $this->view->produto = $res[0]; $local = new Application_Model_DbTable_Local(); $this->view->locals = $local->fetchAll(null, 'nome asc'); if ($this->getRequest()->isPost()) { $error = $this->validaPost(); if (count($error) > 0) { $this->view->msg = "Atualização não realizado"; $this->view->errors = $error; } else { $dados = $this->getRequest()->getParams(); //@TODO change this code to a better place a function on a static Class unset($dados['module']); unset($dados['controller']); unset($dados['action']); unset($dados['id']); $dados['preco'] = str_replace(',', '.', $dados['preco']); $prodDB->update($dados, array('id=?' => $id)); $this->view->msg = "Atualização realizado com sucesso"; return $this->indexAction(); } } $this->renderScript('produto/cadastrar.phtml'); }
4) (1,0) Criar um script utilizando as classes do ZF para que atenda o fluxo abaixo: a) Selecionar um registro (id=10) da tabela produto; b) Se o registro existir, fazer um update neste registro: alterar o valor das colunas nome e dataAlteracao; c) Se o registro não existir, então cadastra o novo produto (id,nome,dataAlteracao); <?php $produtoTb = new Application_Model_DbTable_Produto(); $produto = $produtoTb->fetchRow('id=10'); if ($produto !== null) { $produtoTb->update(array('nome' => $nome, 'dataAlteracao' => $data), 'id=10'); } else { $produtoTb->insert(array('nome' => $nome, 'dataAlteracao' => $data)); }