function salvarCardapio() { $cardapio = new Cardapio(); $pratosId = $this->obterChecksMarcados(); $descricao = $this->getPost('descricao'); $erro = ''; if (!isset($descricao) || $descricao == '') { $erro = "A descrição deve ser preenchida."; } else { $cardapio->setDescricao($descricao); } $sCardapio = serialize($cardapio); if (strlen($erro) > 0) { $this->redirect($this->UrlBuilder()->doAction('cardapio', array('cardapioS' => $sCardapio, 'adicionar' => true, 'errorMsg' => $erro))); } $cardapioDao = new CardapioDao($cardapio); if ($this->getPost('id')) { if ($cardapioDao->editar(array('id' => $this->getPost('id')), $pratosId)) { $this->removerCardapioPraro(); $this->salvarCardapioPrato($this->getPost('id'), $pratosId); $this->redirect($this->UrlBuilder()->doAction('cardapio', array('successMsg' => 'Dados salvos com sucesso.'))); } else { $this->redirect($this->UrlBuilder()->doAction('cardapio', array('errorMsg' => 'Problemas ao salvar os dados.'))); } } if ($objCardapio = $cardapioDao->salvar(true)) { $idCardapio = $objCardapio->getId(); $this->salvarCardapioPrato($idCardapio, $pratosId); $this->redirect($this->UrlBuilder()->doAction('cardapio', array('successMsg' => 'Dados salvos com sucesso.'))); } else { $this->redirect($this->UrlBuilder()->doAction('cardapio', array('errorMsg' => 'Problemas ao salvar os dados.'))); } }
public function obterCardapios($where, $retorno = true) { $wSql = array(); try { $sql = "SELECT DISTINCT cardapio.id, cardapio.descricao, " . "cardapio_prato.prato_id " . "FROM cardapio LEFT JOIN cardapio_prato ON " . "(cardapio.id = cardapio_prato.cardapio_id) "; if (array_key_exists('tipo', $where)) { array_push($wSql, "tipo_cardapio.descricao = %tipo%"); } if (array_key_exists('tipo_cardapio_id', $where)) { array_push($wSql, "tipo_cardapio_id = :tipo_cardapio_id"); } if (array_key_exists('id', $where)) { array_push($wSql, "cardapio.id = :id"); } if (array_key_exists('descricao', $where)) { array_push($wSql, "cardapio.descricao = :descricao"); } if (count($wSql) >= 1) { $wWher = " WHERE " . implode(" AND ", $wSql); $sql .= $wWher; } $result = $this->database()->fetchRowMany($sql, $where); if ($result) { if ($retorno) { return $result; } $cardapio = new Cardapio(); $cardapio->setId($result[0]['id']); $cardapio->setDescricao($result[0]['descricao']); return $cardapio; } else { return false; } } catch (\Simplon\Mysql\MysqlException $ex) { return $ex->getMessage(); } }