Skip to content

SnowRunescape/eloquent-softdeletes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eloquent-softdeletes

Eloquent Status SoftDeletes is an extension for the Eloquent ORM to enable soft delete functionality using a status field. This approach allows you to mark records as deleted by setting a specific status value, making it easy to manage "deleted" records while keeping them in the database.

Features

  • Soft delete records by updating the status field.
  • Customize the status value to indicate a soft delete.
  • Seamlessly restore soft deleted records.
  • Include or exclude soft deleted records in queries.

Installation

To install this package, use Composer:

composer require snowrunescape/eloquent-softdeletes

Usage

Use the SoftDeletes trait in your Eloquent model.

Example

Setting Up Your Model

To enable status-based soft deletes in your model, use the SoftDeletes trait and define the status field and the value that indicates a soft delete.

use Illuminate\Database\Eloquent\Model;
use SnowRunescape\SoftDeletes\SoftDeletes;

class YourModel extends Model
{
    use SoftDeletes;
}

Soft Deleting a Record

To soft delete a record, use the delete method. This will update the status field to the deleted status value.

$model->delete();

Restoring a Record

To restore a soft deleted record, use the restore method. This will update the status field to a non-deleted status value.

$model->restore();

Querying Soft Deleted Records

To include soft deleted records in a query, use the withTrashed method.

$allRecords = YourModel::withTrashed()->get();

To only get soft deleted records, use the onlyTrashed method.

$deletedRecords = YourModel::onlyTrashed()->get();

To exclude soft deleted records from a query, use the withoutTrashed method (this is the default behavior).

$activeRecords = YourModel::withoutTrashed()->get();

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.

License

eloquent-softdeletes is made available under the MIT License (MIT). Please see License File for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages