public function save() { $nome = $_POST['nome']; $salario = $_POST['salario']; $necessidadesEspeciais = $_POST['necessidadesEspeciais']; try { ConnectDB::open(); $necessidadeEspecialDAO = new NecessidadeEspecialDAO(); $funcionario = new FuncionarioModel(); $funcionario->setNome($nome); $funcionario->setSalario($salario); foreach ($necessidadesEspeciais as $id) { $necessidadeEspecial = $necessidadeEspecialDAO->load($id); if ($necessidadeEspecial) { $funcionario->addNecessidadeEspecial($necessidadeEspecial); } } ConnectDB::beginTransaction(); $funcionarioDAO = new FuncionarioDAO(); $funcionarioDAO->save($funcionario); $funcionarioDAO->saveNecessidadesEspeciais($funcionario); ConnectDB::commit(); ConnectDB::close(); header('location: index.php?c=FuncionarioController&m=index'); } catch (PDOException $e) { echo $e->getMessage(); ConnectDB::rollBack(); ConnectDB::close(); } }