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(); } }