public function cadastrarAction()
 {
     $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 = "Cadastro não realizado";
             $this->view->errors = $error;
             return;
         }
         //@TODO qual padrão usar para receber os dados validar e salvar?
         //usar exception
         $proDB = new Application_Model_DbTable_Produto();
         $prodModel = new Application_Model_Produto($this->getRequest()->getParams());
         $proDB->insert($prodModel->__toArray());
         $this->view->msg = "Produto Cadastrado com sucesso.";
         $this->renderScript('produto/salvar.phtml');
     }
 }
 public function cadastrarAction()
 {
     $local = new Application_Model_DbTable_Local();
     $this->view->locals = $local->fetchAll(null, 'nome asc');
     if ($this->getRequest()->isPost()) {
         $error = array();
         $prodModel = new Application_Model_Produto($this->getRequest()->getParams());
         if (!$prodModel->getLocal_id()) {
             $error['local_id'] = 'Por Favor Insira um local válido.';
         }
         if (!$prodModel->getNome()) {
             $error['nome'] = 'Por Favor Insira um nome válido.';
         }
         if (count($error) > 0) {
             $this->view->msg = "Cadastro não realizado";
             $this->view->errors = $error;
             return;
         }
         $proDB = new Application_Model_DbTable_Produto();
         $proDB->insert($prodModel->__toArray());
         $this->view->msg = "Produto Cadastrado com sucesso.";
         $this->renderScript('produto/salvar.phtml');
     }
 }
Esempio n. 3
0
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));
}