"softdelete"를 사용하시겠습니까? 파트 2
8969 단어 beginnersphpsoftdeletelaravel
Nesta segunda parte, vamos implementar os métodos para deletar, restaurar e Consultar modelos deletados.
삭제 등록
컨트롤러를 처음부터 끝까지 편집하고 등록 방법을 포함합니다.
public function deleteInvoiceById($id)
{
$invoice = Invoice::find($id);
if ($invoice) {
$invoice->delete();
return response()->json(['message' => 'Invoice '.$id.' successfully deleted']);
} else {
return response(['message' => 'Invoice not found'], 404);
}
}
Explicando o código, primeiro verificamos se o registro existe e, se existir procedemos à deleção retornando uma mensagem personalizada.
등록 정보가 등록되지 않은 상태로 존재합니다.
Em seguida adicionamos uma nova rota no arquivo '\route\api.php' para acessar o metodo criado na controller.
Route::delete('/{id}/delete', 'deleteInvoiceById');
Agora vamos testar aplicação fazendo uma requisição para rota que deleta o registro passado como parâmetro.
Se tudo estiver certo, veremos uma mensagem semelhante à esta 로고 abaixo.
Acessando novamente a rota que traz todos os registros veremos algo parecido com isto:
E acessando a rota para trazer um registro específico teremos o seguinte retorno:
Restaurando registros deletados
Continuando com o projeto iremos implementar agora um método para restaurar registros deletados...
public function restoreInvoiceById($id)
{
$invoice = Invoice::onlyTrashed()->find($id);
if ($invoice) {
$invoice->restore();
return response()->json(['message' => 'Invoice '.$id.' successfully restored']);
} else {
return response(['message' => 'Invoice not found'], 404);
}
}
...e는 각각의 순서를 따릅니다.
Route::put('/{id}/restore', 'restoreInvoiceById');
Perceba a utilização do método
onlyTrashed()
cujo objetivo é garantir que apenas registros deletados possam ser encontrados.Agora vamos testar a restauração do registro deletado.
Consultando todos os 등록...
...e Consultando o registro pelo id temos:
Listando registros deletados
Para concluir a segunda parte deste artigo vamos criar o método que retorna um registro deletado pelo seu id...
public function getTrashedInvoiceById($id)
{
$invoice = Invoice::onlyTrashed()->find($id);
if ($invoice) {
return $invoice;
} else {
return response()->json(['message' => 'Invoice not found'], 401);
}
}
...각각의 로타:
Route::get('/{id}/trashed', 'getTrashedInvoiceById');
Para testar este método acesse a rota que deleta registros qualquer id.
Logo após a deleção do registro basta acessar a rota que mostra registros deletados para obter o resultado abaixo.
"deleted_at"대부분의 데이터는 독점적인 등록 등록이라는 점에 유의하십시오.
Na deste artigo vamos desenvolver o método que fará a exclusão definitiva dos modelos.
아테 브레브.
Reference
이 문제에 관하여("softdelete"를 사용하시겠습니까? 파트 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marciopolicarpo/voce-sabe-o-que-e-softdelete-parte-2-6p5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)