Восстановление мягко удаленных данных в Laravel: подробное руководство

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

Метод 1: использование метода Eloquent withTrashed

$users = User::withTrashed()->get();

Метод withTrashedизвлекает все записи из базы данных, включая обратимо удаленные. Затем вы можете получить доступ к обратимо удаленным записям, используя свойство trashedмодели.

Метод 2: использование метода onlyTrashed

$users = User::onlyTrashed()->get();

Метод onlyTrashedизвлекает из базы данных только обратимо удаленные записи. Этот метод исключает неудаленные записи и предоставляет коллекцию обратимо удаленных данных.

Метод 3: восстановление обратимо удаленных данных

$users = User::onlyTrashed()->restore();

Метод restoreпозволяет восстановить обратимо удаленную запись. Этот метод обновит столбец deleted_at, снова отметив запись как активную.

Метод 4. Безвозвратное удаление обратимо удаленных данных

$users = User::onlyTrashed()->forceDelete();

Метод forceDeleteбезвозвратно удаляет обратимо удаленные записи из базы данных. После выполнения записи невозможно восстановить.

Метод 5. Пользовательский запрос с предложениемwhereNull

$users = User::whereNull('deleted_at')->get();

Этот метод извлекает все неудаленные записи, применяя предложение whereNullк столбцу deleted_at. Он исключает обратимо удаленные данные из набора результатов.

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