MVC, MVT e Template Engine - #8 Update e Delete
19/06/2020Nesse tutorial aprenderemos como realizar a parte de update / delete utilizando MVC e template engine blade.
Update e Delete com MVC
views/produto.blade.php
Primeiramente, vamos adicionar o link de edição na nossa view produtos:
<td>
<a href="@php echo DIRPAGE.'produto/'.$produtos->id; @endphp">Ler</a> |
<a href="@php echo DIRPAGE.'produto_edit/'.$produtos->id; @endphp">Editar</a> |
<a href="@php echo DIRPAGE.'produto_delete/'.$produtos->id; @endphp">Deletar</a> |
</td>
routes/web.php
Vamos adicionar as novas rotas:
<?php
$routes=new \Controllers\RoutesController();
$routes->getRoute('','HomeController@index');
$routes->getRoute('produto','ProdutoController@index');
$routes->getRoute('produto_create','ProdutoController@create');
$routes->getRoute('produto_edit','ProdutoController@edit');
$routes->getRoute('produto_delete','ProdutoController@delete');
$routes->getRoute('contato','ContatoController@showContacts');
controllers/ProdutoController.php
Criaremos os métodos responsáveis por editar e deletar nossos registros:
#Página de edição
public function edit($url=null,$id=null)
{
if(count($_POST)>0){
$name=filter_input(INPUT_POST,'name',FILTER_DEFAULT);
$price=filter_input(INPUT_POST,'price',FILTER_DEFAULT);
if($this->update($id,$name,$price)){
$success='Dados atualizados com sucesso!';
return $this->blade->render('produto_create',compact('success'));
}
}else{
$data=$this->find($id)[0];
return $this->blade->render('produto_create',compact('data'));
}
}
#Página de deletar
public function delete($url=null,$id=null)
{
if($this->destroy($id))
{
echo "<script>alert('Dado deletado com sucesso!');</script>";
header("location: ".DIRPAGE."produto");
}
}
models/ProdutoModel.php
Iremos realizar as operações no banco:
#Update no banco
public function update($id,$name,$price)
{
$query=$this->conectDB()->prepare("update produtos set name=?,price=? where id=?");
$query->bindParam(1,$name,\PDO::PARAM_STR);
$query->bindParam(2,$price,\PDO::PARAM_STR);
$query->bindParam(3,$id,\PDO::PARAM_INT);
return $query->execute();
}
#Deletar no banco
public function destroy($id)
{
$query=$this->conectDB()->prepare("delete from produtos where id=?");
$query->bindParam(1,$id,\PDO::PARAM_INT);
return $query->execute();
}
Por hoje é só! Sucesso nos códigos e na vida!
Necessita de ajuda? Suporte Premium: webdesignemfoco@gmail.com
Posts Relacionados
MVC, MVT e Template Engine - #7 Create e Read
No tutorial de hoje iremos implementar no nosso sistema MVC um sistema de inserção de dados e de leitura desses dados no MySQL.
MVC, MVT e Template Engine - #9 Deploy
Nessa aula aprenderemos como realizar o deploy do nosso MVC utilizando PHP e MySql.