在Laravel 5.1中,有没有一种好的方法来检查一个有说服力的模型对象是否被软删除?我不是在谈论选择数据,而是一旦我有了对象,例如Thing::withTrashed()->find($id)
目前为止我能想到的唯一办法就是
if ($thing->deleted_at !== null) { ... }
我没有看到任何相关的方法in the API,例如
if ($thing->isDeleted()) { ... }
在Laravel 5.1中,有没有一种好的方法来检查一个有说服力的模型对象是否被软删除?我不是在谈论选择数据,而是一旦我有了对象,例如Thing::withTrashed()->find($id)
目前为止我能想到的唯一办法就是
if ($thing->deleted_at !== null) { ... }
我没有看到任何相关的方法in the API,例如
if ($thing->isDeleted()) { ... }
5条答案
按热度按时间kknvjkwl1#
刚刚意识到我在错误的API中寻找。Model类没有这个,但是我的模型使用的SoftDelete trait有一个
trashed()
方法。这样我就能写作了
nfzehxib2#
在laravel 6中,你可以使用以下命令。
要检查Eloquent模型是否使用软删除,请执行以下操作:
检查Eloquent模型是否在资源中使用软删除(当使用资源进行响应时):
最后检查模型是否已被丢弃:
希望这会有帮助!
2nbm6dog3#
对于那些在测试环境中寻求答案的人,在laravel的测试用例中,你可以Assert:
或者如果它只是被删除(没有软删除)
gudnpqoy4#
这是最好的办法
t3irkdon5#
这对我很有效