Laravel Admin은 사용하기 편리한 다양한 구성 요소와 플러그인을 갖춘 매우 인기 있는 오픈 소스 백엔드 관리 프레임워크입니다. 그중 소프트 삭제 기능은 많은 개발자에게 없어서는 안 될 기능 중 하나로, 우아한 데이터 삭제 및 복구를 달성할 수 있습니다. 이 글은 독자들이 지식의 이러한 측면을 더 잘 익힐 수 있도록 돕기 위해 Laravel Admin의 소프트 삭제 기능을 소개합니다.
일단, 일시 삭제란 무엇인가요? 기존 데이터 삭제에서는 일반적으로 물리적 삭제를 통해 데이터베이스에서 데이터를 완전히 삭제하는데, 이로 인해 불필요한 문제가 발생할 수 있습니다. 실수로 데이터를 삭제하거나 데이터를 복구할 수 없는 경우 등이 있습니다. 소프트 삭제는 데이터가 더 이상 데이터베이스에서 물리적으로 삭제되지 않지만 데이터를 삭제해야 하는 경우 deleted_at
열이 데이터 테이블에 추가되는 것을 의미합니다. 현재 시간은 데이터를 삭제된 것으로 표시하는 것과 같습니다. 이렇게 하면 데이터가 삭제되더라도 deleted_at
에 비어 있지 않은 데이터를 쿼리하여 삭제된 데이터를 검색할 수 있습니다. deleted_at
,当数据需要被删除时,会将该列的值设置为当前时间,相当于标记该数据已被删除。这样,即使数据被删除了,我们还能通过查询 deleted_at
不为空的数据来找回被删除的数据。
Laravel Admin 中的软删除功能非常容易实现,只需要创建一个 deleted_at
数据表字段即可。在模型中,我们需要使用软删除 trait,即 use SoftDeletes;
,来启用软删除,如下所示:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Product extends Model { use SoftDeletes; protected $dates = ['deleted_at']; // ... }
这里有一个 $dates
属性,代表要将这个字段添加到 carbon 实例化对象中,便于我们对时间进行格式化和操作。
当我们使用 Laravel Admin 的数据表格组件时,它会自动将软删除的数据过滤掉。如果我们需要查看已被软删除的数据,只需要在数据表格上方的筛选条件中,勾选“显示已删除数据”即可。
在 Laravel Admin 中,软删除数据也非常容易。只需要在控制器中调用 delete()
方法即可。该方法会将 deleted_at
字段设置为当前时间,标记该数据已被删除。如果我们需要使用还原功能,则可以调用 restore()
方法,将被删除数据的 deleted_at
deleted_at
데이터 테이블 필드만 생성하면 됩니다. 모델에서는 아래와 같이 소프트 삭제 특성, 즉 softDeletes 사용
을 사용하여 소프트 삭제를 활성화해야 합니다. public function destroy($id) { Product::destroy($id); // 执行软删除 return redirect('/admin')->with(['success' => '删除成功']); } public function restore($id) { $product = Product::withTrashed()->find($id); $product->restore(); // 还原删除数据 return redirect('/admin')->with(['success' => '还原成功']); }
$dates
가 있습니다. > 속성은 시간을 형식화하고 작동할 수 있도록 탄소 인스턴스화된 객체에 이 필드를 추가해야 함을 나타냅니다. 🎜🎜Laravel Admin의 데이터 테이블 구성 요소를 사용하면 일시 삭제된 데이터가 자동으로 필터링됩니다. 일시 삭제된 데이터를 보려면 데이터 표 위의 필터 조건에서 "삭제된 데이터 표시"만 선택하면 됩니다. 🎜🎜Laravel Admin에서는 데이터 소프트 삭제도 매우 쉽습니다. 컨트롤러에서 delete()
메서드를 호출하기만 하면 됩니다. 이 메소드는 deleted_at
필드를 현재 시간으로 설정하여 데이터를 삭제된 것으로 표시합니다. 복원 기능을 사용해야 하는 경우 restore()
메서드를 호출하고 삭제된 데이터의 deleted_at
필드를 null로 설정하면 됩니다. 🎜rrreee🎜간단히 말해서 Laravel Admin의 소프트 삭제 기능은 우리에게 큰 편리함과 유연성을 제공합니다. 이를 통해 일부 운영상의 어려움과 보안 문제를 방지하고 개발을 보다 효율적이고 안정적으로 만들 수 있습니다. 독자들이 이 글에서 소개한 내용을 숙지하고 실제 개발 시 소프트삭제 기능에 적용해 볼 수 있기를 바란다. 🎜위 내용은 Laravel Admin의 소프트 삭제 기능에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!