public function persist(Pessoa $pessoa) { try { $this->db->beginTransaction(); $query = "insert into pessoa (nome,idade,importancia,cpf,cnpj,endereco) values (:nome,:idade,:importancia,:cpf,:cnpj,:endereco)"; $stmt = $this->db->prepare($query); $stmt->bindValue(":nome", $pessoa->getNome()); $stmt->bindValue(":idade", $pessoa->getIdade()); $stmt->bindValue(":importancia", $pessoa->getImportancia()); if ($pessoa instanceof PessoaJuridica) { $cnpj = $pessoa->getCnpj(); } else { $cnpj = null; } if ($pessoa instanceof PessoaFisica) { $cpf = $pessoa->getCpf(); } else { $cpf = null; } $stmt->bindValue(":cpf", $cpf); $stmt->bindValue(":cnpj", $cnpj); $stmt->bindValue(":endereco", $pessoa->getEndereco()); $stmt->execute(); } catch (\PDOException $e) { $this->db->rollBack(); die("Erro: " . $e->getMessage()); } }
public function __construct($nome, $idade, $importancia, $cpf) { parent::__construct($nome, $idade, $importancia); $this->cpf = $cpf; }