Como eliminar um registro de uma tabela pivot?
Olá Gente!
como eu monto a query pra elimintar os registo da tabela pivot "questao_user" ?
Eu não estou sabendo montar a query :/
https://hastebin.com/xicinawusa.php
Olá, Tiago!
Tudo bem?
Assim como usou o attach para relacionar os registros na tabela pivô, deve usar o detach para desrelacionar (deletar da tabela pivô).
https://academy.especializati.com.br/aula/laravel-relationships-many-to-many-insert
Veja, o método detach espera o id do registro que é para desrelacionar, ou um array com os IDs
Uma observação Carlos. Não tem na migrations o OnDelete() pra que funcione o detach() e necessário ter ele adicionado a migrante e subir novamente ou o detach independe?
Não funcinou quando eu passei o relacionamento. deu esse erro:
Call to undefined method Illuminate\Database\Eloquent\Relations\HasMany::detach()
controller:
model Aula:
Model User
Isso daqui está errado:
$user = new User();
$user->questoes()->detach([10]);
Por que? Porque $user é apenas uma instância do model User, apenas isso.
Como daria certo?
$user = User::find(1);
Neste caso daria certo, porque você está lidando com um usuário especifico.
-----------
Quer remover um relacionamento N:N? Precisa ter dados das duas pontas, do User e da Questao
$idUser = 1;
$user = User::where('id', '=', $idUser)->first();
// $user é objeto do usuário de id 1
Agora podemos remover o relacionamento N:N do user com as questões:
$user->questoes()->detach([1, 2]);
Neste exemplo desvinculou o usuário 1 com as questões 1 e 2 (deletou o registro na tabela pivô).
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!