public function salvar(ReceitaCategorioria $receitaCat)
 {
     $dados = array_filter($receitaCat->getArrayCopy());
     $id = (int) $receitaCat->id;
     if ($id == 0) {
         return $this->insert($dados);
     } else {
         if ($this->buscarUm($id)) {
             return $this->update($dados, ['id' => $id]);
         } else {
             throw new \Exception('Registro não encontrado.');
         }
     }
 }
 public function salvarAction()
 {
     $form = $this->getReceitaCategoriaForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $receitaCat = new ReceitaCategorioria();
             $receitaCat->exchangeArray($form->getData());
             $this->getReceitaCategoriaTabela()->salvar($receitaCat);
             $this->flashMessenger()->addSuccessMessage("Registro cadastrado com sucesso.");
             return $this->redirect()->toRoute('receita-categoria');
         }
     }
     $arrayCliente = $this->getClienteTabela()->buscarTodos(false);
     $arrayCliente = array_column($arrayCliente->toArray(), 'nome', 'id');
     return array('form' => $form, 'fk_cliente' => $arrayCliente);
 }