Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jonassfc

Inserido dados em duas tabelas relacionadas.

Recommended Posts

Estou com um problema: No banco de dados tenho uma tabela "Usuários" nela contem todos os atributos em comum de pacientes, médicos e funcionários e nas demais tabelas tem os atributos diferentes. A três tabelas tem com chave estrangeira o "idUsuario" meu problema é como essas três tabelas vão pegar o idUsuario no ato do cadastro ... Estou usando PDO, DTO e DAO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que na hora do cadastro você sabe que tipo de usuário está sendo cadastrado, se sabe você pode inserir nessas outras tabela o ID que acabou de ser gerado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
require_once 'Conexao.php';

class FuncionarioDAO {
    public function SalvarUsuario(usuarioDTO $usuarioDTO){
        try {
            $pdo = Conexao::getInstance();
            $sql = "INSERT INTO usuarios (nome, dataNasc, cpf, rg, tel, endereco, cidade, email, senha, sexo) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            $stmt = $pdo->prepare($sql);
            $stmt->bindValue(1, $usuarioDTO->getNome());
            $stmt->bindValue(2, $usuarioDTO->getDataNasc());
            $stmt->bindValue(3, $usuarioDTO->getCpf());
            $stmt->bindValue(4, $usuarioDTO->getRg());
            $stmt->bindValue(5, $usuarioDTO->getTel());
            $stmt->bindValue(6, $usuarioDTO->getEndereco());
            $stmt->bindValue(7, $usuarioDTO->getCidade());
            $stmt->bindValue(8, $usuarioDTO->getEmail());
            $stmt->bindValue(9, $usuarioDTO->getSenha());
            $stmt->bindValue(10, $usuarioDTO->getSexo());
            $stmt->execute();
        } catch (PDOException $exc){
            echo $exc->getMessage();
        }
    }
        public function SalvarFuncionario (FuncionarioDTO $funcionarioDTO){
        try {
            $pdo = Conexao::getInstance();
            $sql = "INSERT INTO funcionarios (cargo, dataAdmissao) VALUES (?, ?)";
            $stmt = $pdo->prepare($sql);
            $stmt->bindValue(1, $funcionarioDTO->getCargo());
            $stmt->bindValue(2, $funcionarioDTO->getDataAdmissao());
            $stmt->execute();
        } catch (PDOException $exc){
            echo $exc->getMessage();
            }
        }
}

Tenho a classe FuncionarioDAO onde tem os metodos SalvarUsuario e SalvarFuncionario. Pela minhas pesquisas tenho que o pegar o ultimo id que foi gerado da tabela usuario para o funcionario pegar esse ID, mas não sei como faço isso ;(

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.