public function saveNecessidadesEspeciais(FuncionarioModel $funcionarioModel) { $result = $this->conn->query("SELECT last_value FROM funcionario_id_seq"); $last_value = $result->fetch()['last_value']; $funcionarioModel->setId($last_value); foreach ($funcionarioModel->getNecessidadesEspeciais() as $necessidadeEspecial) { $stmt = $this->conn->prepare("INSERT INTO funcionario_necessidadesespeciais (funcionario_id, necessidadeespecial_id, data_cadastro) VALUES (?,?,?)"); $stmt->bindValue(1, $funcionarioModel->getId()); $stmt->bindValue(2, $necessidadeEspecial->getId()); $stmt->bindValue(3, date('Y-m-d H:i:s')); $stmt->execute(); } }
public function update() { $id = $_POST['id']; $nome = $_POST['nome']; $salario = $_POST['salario']; $necessidadesEspeciais = $_POST['necessidadesEspeciais']; try { $funcionario = new FuncionarioModel(); $funcionario->setId($id); $funcionario->setNome($nome); $funcionario->setSalario($salario); foreach ($necessidadesEspeciais as $id) { $necessidadeEspecial = new NecessidadeEspecialModel(); $necessidadeEspecial->setId($id); $funcionario->addNecessidadeEspecial($necessidadeEspecial); } ConnectDB::open(); ConnectDB::beginTransaction(); $funcionarioDAO = new FuncionarioDAO(); $funcionarioDAO->update($funcionario); $funcionarioDAO->updateNecessidadesEspeciais($funcionario); ConnectDB::commit(); ConnectDB::close(); header('location: index.php?c=FuncionarioController&m=index'); } catch (PDOException $e) { echo $e->getMessage(); ConnectDB::rollBack(); ConnectDB::close(); } }