В 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.