Ir para conteúdo

Arquivado

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

anderluz

Delete em cascata automático

Recommended Posts

Estou com um problema, ao excluir usários ou livros o sistema automaticamente está excluindo os emprestimos vinculados aos registros, não estou fazendo uso de depend destroy delete ou destroy_all , meu has many no model está assim: has_many :emprestimos, class_name: 'Emprestimo', foreign_key: :usuario_id no ususario.rb e no emprestimos assim: belongs_to :livro, class_name: 'Livro', foreign_key: :livro_id achei que fosse em função de estar repassando essa classe e o foreign_key, mas continua ao excluir um livro ou usuario ele apaga todos os registros dependentes, o mesmo padrão se encontra para os usuários. Alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mateus.andriollo
      Alguém sabe uma boa ferramenta (grátis) para comparação de banco de dados Desenvolvimento e Produção.
      Preciso automatizar as atualizações no banco de dados da produção com base no banco de dados de desenvolvimento.
       
      Achei algumas ferramentas mas pagas....
    • Por durrib
      Olá, pessoal.
      Meu provedor não autoriza mais Banco Access, então fui obrigado migrar para o MySQL e estou "apanhando", rs...
      Consegui criar a primeira Tabela de Insert de email's. Aí que vem o drama, problemas no auto_increment e blá blá...
      Consegui o primeiro passo, o Insert, mas o resto não estou conseguindo assimilar.
      Prefiro continuar os script's no ASP, se tiver que ir pro PHP, eu desisto.
      -->
       
      'Windows 2012
          'Criamos o objeto de conexão
       Set conn = Server.CreateObject("ADODB.Connection")
          'Abrimos uma conexão com o banco de dados
          '[IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
      Conn.Open("DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=XXX;PORT=3306;DATABASE=XXX;USER=XXX;PASSWORD=XXX;OPTION=3;")
      Response.Write "banco conectado"
          'Fechamos a conexão com o banco de dados
      Conn.Close()
          'Destruímos o objeto
      Set Conn = Nothing
      -->
       
      Está conectando, mas na hora da listagem, nada!
      HELP!
       
       
    • Por jefferson919
      Pessoal, 
       
      Estou tentando criar um registro de log de operação em php, mas não consigo fazer as duas operações de forma alguma. Só faz uma não importa o que eu faça. Estou com o seguinte codigo:
       
      <?php // Sessão session_start(); // Conexão require_once 'db_connect.php'; if(isset($_POST['btn-delete'])): $id = mysqli_escape_string($connect, $_POST['usuario_id']); $idDeletador = $_SESSION['id_usuario']; $teste = 1; if ($teste==1): $sql = "INSERT INTO tb_log (log_data, log_usuario, log_menu, log_tipo) VALUES (now(), $idDeletador, 'Usuário', 'Deletar' );"; $novo=2; if ($novo==2): $sql = "DELETE FROM tb_usuario WHERE usuario_id = '$id';"; $_SESSION['mensagem'] = "Deletado com sucesso!"; header('Location: ../cruds/consultaUsuario.php'); else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../comeco.php'); endif; else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../index.php'); endif; //$sql = "INSERT INTO tb_log (log_data, log_usuario, log_menu, log_tipo) VALUES (now(), $idDeletador, 'Usuário', 'Deletar' );"; //$sql = "DELETE FROM tb_usuario WHERE usuario_id = '$id';"; if(mysqli_query($connect, $sql)): $_SESSION['mensagem'] = "Deletado com sucesso!"; header('Location: ../cruds/consultaUsuario.php'); else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../cruds/consultaUsuario.php'); endif; endif;  
    • Por Flaviaac
      Boa tarde pessoal,
       
      Estou começando a programar em PHP agora e ainda tenho muitas dúvidas, gostaria de uma ajuda =)
      Quero deletar um registro da tabela quando pressionar o botão de "apagar" como na imagem: 
       

       
      O que acontece é que quando aperto o botão, ele exibe a mensagem de que foi deletado com sucesso, porém não deleta do banco.
      E exibe a mensagem: Notice: Undefined index: id in .../teste_tabela3/deletar_produto.php on line 11
       
      Alguém saberia me dizer o que estou fazendo errado? Obrigada!
       
       
      Segue o código do arquivo deletar_produto.php
      <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; $id = $_POST['id']; if(isset($_POST['apagar'])){ $sql = "DELETE FROM produtos WHERE id='$id'"; $result = mysqli_query($conn, $sql); if($conn->query($sql) === TRUE) echo "<br/><br/><span>O registro foi deletado com sucesso...!!</span>"; }else{ echo "<p>Não foi possivel apagar o registro....!!</p>"; } $conn->close(); ?>  
      Esse é o arquivo listar_produtos.php
      <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; ?> <div class="d-flex mx-2 my-2"> <div class="mr-auto p-2"> <h2 class="display-4 titulo">Lista de Produtos</h2> </div> </div> <?php $sql = "SELECT id, produto, valor FROM produtos"; $result = $conn->query($sql); ?> <!--------------------------------------------TABELA--------------------------------------------> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th>ID</th> <th>Produto</th> <th>Valor</th> <th>Ações</th> </tr> </thead> <?php if ($result->num_rows > 0) { echo "<tbody>"; while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" .$row['id'] ."</td>"; echo "<td>" .$row['produto']. "</td>"; echo "<td>" .$row['valor']. "</td>"; echo "<td>"; echo "<form action='deletar_produto.php' method='post'>"; echo "<button type='submit' class='btn btn-outline-primary' name='editar'>Editar</button> &nbsp;"; echo "<button type='submit' class='btn btn-outline-primary' name='apagar'>Apagar</button>"; echo "</form>"; echo "</td>"; echo "</tr>"; } } else { echo "0 results"; } ?> </tbody> </table> <?php $conn->close(); include_once 'rodape.php'; ?>  
    • Por Felipe_N22
      Pessoal, como que eu crio uma rotina no MySQL para efetuar delete de registros inseridos nos últimos 30 dias, e fazer com que esse procedimento rode todos os dias automaticamente em determinado horário?
×

Informação importante

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