/** * Verifica se um funcionário tem necessidades especiais, caso tenha retorna quantas ele tem. * @param FuncionarioModel $funcinoario * @param integer $necessidadeEspecialId */ public function hasNecessidadeEspecial(FuncionarioModel $funcinoario, $necessidadeEspecialId = null) { $sql = "SELECT id FROM funcionario_necessidadesespeciais WHERE funcionario_id = {$funcinoario->getId()}"; if ($necessidadeEspecialId) { $sql .= " AND necessidadeespecial_id = {$necessidadeEspecialId}"; } $result = $this->conn->query($sql); return $result->rowCount(); }
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(); } }