如何在Laravel中从表中获取所有行(包括软删除的行)?

120
要从表中获取所有行,我必须使用Model::all(),但出于某种原因(很好的原因),这不会将软删除的行返回给我。我是否可以使用Eloquent来实现这一点?
2个回答

266

为了获取软删除的模型

$trashedAndNotTrashed = Model::withTrashed()->get();

只在结果中包含已软删除的模型

$onlySoftDeleted = Model::onlyTrashed()->get();

2
文档链接:http://laravel.com/docs/5.1/eloquent#querying-soft-deleted-models - user
太好了!!! https://itsolutionstuff.com/post/how-to-get-soft-deleted-records-in-laravel-5example.html - Kamlesh
如何在关联项中包含已删除的项目? - Čamo

19

使用此代码获取所有记录

Model::withTrashed()->get();

使用此功能获取特定 ID 的记录

Property::withTrashed()->find($list->property_id);
              or

// 1 是这个表格的唯一标识符

 Model::withTrashed()->find(1);

7
这个回答已经发布了第一部分。第二部分与问题无关,只是关于 Eloquent 常用方法的内容。 - totymedli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接