Laravel exists()忽略软删除的行

时间:2018-01-09 09:46:09

标签: mysql laravel eloquent

我正在Laravel 5.5中构建一个Eloquent查询。我想知道的是数据库中是否存在一行 - 我想要包含任何软删除的行:

$query = Thing::where([
      'date' => $date,
      'user_id' => $userId
      ]);

return $query->exists();

我的问题是这忽略了软删除的行,因此如果存在具有给定falsedate的软删除行,它将返回user_id。是否有一种简洁的方法来包含软删除的行?

1 个答案:

答案 0 :(得分:5)

是的,请使用Thing::withTrashed()->where(...)

文档:https://laravel.com/docs/5.5/eloquent#querying-soft-deleted-models