eloquent Where 子句中的类似通配符的语法,用于在两个字符串之间进行搜索

Wildcard-like syntax in an eloquent Where clause to search between two strings

我看到这个问题提供的答案现在我想知道是否有办法在两个字符串之间进行搜索?

基本上在我的代码中我想显示状态为新的或已安排的请求。

$requests = DB::table('requests')
        ->select('requestDate','requestTime','status','requestID')
        ->where('requestorID', '=',$userID)
        ->where('status', 'LIKE','%New%')
        ->get();

您可以使用:

->where('status', 'new')
->orWhere('status', 'scheduled')

您可以简单地将 where 与 orWhere 结合使用:

$requests = DB::table('requests')
        ->select('requestDate','requestTime','status','requestID')
        ->where('requestorID', '=',$userID)
        ->where(function($q) {
          $q->where('status', 'LIKE','%New%');
          $q->orWhere('status', 'LIKE','%Scheduled%');
       
        })->get();

您可以使用 whereIn ,whereIn 方法验证给定列的值是否包含在给定数组中:

$requests = DB::table('requests')
        ->select('requestDate','requestTime','status','requestID')
        ->where('requestorID', '=',$userID)
        ->whereIn('status', ['new','scheduled'])
        ->get();