Crud com Laravel - #9 Delete
05/02/2020Na aula de hoje realizaremos a parte de delete no sistema de Crud com Laravel. Para isso, utilizaremos o PHP com Ajax.
Delete com Laravel
Dentro da pasta public/assets eu vou criar o diretório js e dentro desse diretório o arquivo javascript.js
(function(win,doc){
'use strict';
//Delete
function confirmDel(event)
{
event.preventDefault();
//console.log(event.target.parentNode.href);
let token=doc.getElementsByName("_token")[0].value;
if(confirm("Deseja mesmo apagar?")){
let ajax=new XMLHttpRequest();
ajax.open("DELETE",event.target.parentNode.href);
ajax.setRequestHeader('X-CSRF-TOKEN',token);
ajax.onreadystatechange=function(){
if(ajax.readyState === 4 && ajax.status === 200){
win.location.href="books";
}
};
ajax.send();
}else{
return false;
}
}
if(doc.querySelector('.js-del')){
let btn=doc.querySelectorAll('.js-del');
for(let i=0; i < btn.length; i++){
btn[i].addEventListener('click',confirmDel,false);
}
}
})(window,document);
Dentro do templates/template.blade.php precisamos chamar o nosso arquivo javascript.js
<script src="{{url("assets/js/javascript.js")}}">
Na index.blade.php vamos inserir o nosso token acima da tabela.
@csrf
Ainda na index.blade.php vamos linkar o caminho do nosso botão de deletar com a class js-del:
<a href="{{url("books/$books->id")}}" class="js-del">
<button class="btn btn-danger">Deletar</button>
</a>
No BookController.php trabalharemos no método destroy:
public function destroy($id)
{
$del=$this->objBook->destroy($id);
return($del)?"sim":"não";
}
Por hoje é só! Sucesso nos códigos e na vida!
Posts Relacionados
Crud com Laravel - #8 Edit
Na vídeoaula de hoje trataremos da parte do update no Crud com Laravel, editando os dados cadastrados no banco de dados MySql.
Crud com Laravel - #10 Seeder e Paginação
Na aula de hoje aprenderemos como realizar inserções automatizadas no banco de dados através dos seeders e como fazer a paginação no Laravel.