具有特定softDeleted()记录的Laravel Eloquent查询

时间:2016-11-10 00:14:31

标签: php database laravel eloquent

我正在使用Laravel 5.3构建一个api,我需要公开一些用户记录。获得以下所有内容我没有问题:

User::all();

User::all()->withTrashed()->where('status_id', 2);

但我如何将这些组合显示给所有常规用户+已删除的用户,但前提是已删除的用户是否有status_id = 2?

all users + deleted users with status_id of 2

要添加其他说明,我实际上是在尝试合并以下查询:

User::all() + User::onlyTrashed->where('status_id', 2);

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

尝试:

User::all()->withTrashed()
    ->whereNull('deleted_at')
    ->orWhere(function($query) {
        return $query->whereNull('deleted_at')->where('status_id', 2);
    })
    ->get();