Полное руководство по мягкому удалению в моделях Laravel: изучение методов и примеры кода

Мягкое удаление — это удобная функция Laravel, которая позволяет «удалять» записи из таблицы базы данных, не удаляя их окончательно. Вместо удаления записи мягкое удаление помечает ее как «удаленную», устанавливая значение временной метки в назначенном столбце. Эта функция особенно полезна, если вы хотите сохранить целостность данных или вам необходимо восстановить удаленные записи. В этой статье мы рассмотрим различные методы реализации обратимого удаления в моделях Laravel, а также приведем примеры кода.

  1. Использование признака SoftDeletes:
    Laravel предоставляет признак под названием SoftDeletes, который вы можете использовать в своей модели для включения обратимого удаления. Вот пример:
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class YourModel extends Model
{
    use SoftDeletes;

    // Rest of your model code
}
  1. Указание столбца обратимого удаления:
    По умолчанию Laravel предполагает, что столбец обратимого удаления имеет значение deleted_at, но вы можете настроить его, определив свойство protected $deletedAt. в вашей модели:
protected $deletedAt = 'custom_deleted_column';
  1. Получение обратимо удаленных моделей:
    Чтобы получить обратимо удаленные модели, вы можете использовать метод withTrashed:
$softDeletedModels = YourModel::withTrashed()->get();
  1. Извлечение только обратимо удаленных моделей:
    Если вы хотите получить только обратимо удаленные модели, вы можете использовать метод onlyTrashed:
$onlySoftDeletedModels = YourModel::onlyTrashed()->get();
  1. Восстановление обратимо удаленных моделей:
    Чтобы восстановить обратимо удаленную модель, вы можете использовать метод restore:
$softDeletedModel->restore();
  1. Безвозвратное удаление обратимо удаленных моделей.
    Чтобы окончательно удалить обратимо удаленную модель, вы можете использовать метод forceDelete:
$softDeletedModel->forceDelete();

Мягкое удаление обеспечивает удобный способ обработки удалений в моделях Laravel без окончательного удаления данных из базы данных. В этой статье мы рассмотрели несколько методов реализации обратимого удаления в моделях Laravel, включая использование признака SoftDeletes, настройку столбца обратимого удаления, получение обратимо удаленных моделей, восстановление обратимо удаленных моделей и окончательное обратимое удаление. модели. Используя эти методы, вы можете эффективно управлять удаленными записями в ваших приложениях Laravel, сохраняя при этом целостность данных.